如果 ItemSource 绑定不返回任何数据,则向数据网格添加行



这个问题有什么简单的解决方案吗?首先,我想我可以创建一个空的可观察集合并撰写:

ObservableCollection<PersonDetailsView> newOCollection= new ObservableCollection<PersonDetailsView>();
myDataGrid.ItemsSource=newOCollection.ToArray();

它有效..我得到一个空行..但问题是我失去了另一个绑定。有没有办法仅在我的{Binding Person}(请参阅代码)不返回值时才绑定到 newOCollection

<DataGrid CanUserAddRows="True" IsReadOnly="False" BorderBrush="#FFCCCCCC"  
        GridLinesVisibility="All" AutoGenerateColumns="False" 
        ItemsSource="{Binding Person}" Background="White" Margin="10,45,0,0" 
        VerticalAlignment="Top" Height="91" HorizontalAlignment="Left" 
        HeadersVisibility="None" SelectionMode="Single" Name="dtaPersons" Width="415">
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding Person.Name, Mode=TwoWay}" Width="Auto"/>
        <DataGridTextColumn Binding="{Binding Person.Surname, Mode=TwoWay}" Width="*"/>
        <DataGridTemplateColumn Width="Auto">
            <DataGridTemplateColumn.CellTemplate>
                <DataTemplate >
                    <Button  Style="{DynamicResource ChromelessButtonStyle}" Content="r" FontFamily="Marlett" />
                </DataTemplate>
            </DataGridTemplateColumn.CellTemplate>
        </DataGridTemplateColumn>
   </DataGrid.Columns>
</DataGrid>
ObservableCollection<PersonDetailsView> newOCollection= new ObservableCollection<PersonDetailsView>();
if (!myDataGrid.Items.Any())
    myDataGrid.ItemsSource=newOCollection.ToArray();

最新更新