【发布时间】:2020-01-03 18:30:17
【问题描述】:
我有一个包含多个变量的 ObservableCollection。我想将此集合绑定到数据网格,但只有 3 个变量。
public ObservableCollection<BlockData> BlockDatas { get; set; } = new ObservableCollection<BlockData>();
public class BlockData
{
public BlockData(MaterialSystem ms)
{
MaterialSystem = ms;
}
public MaterialSystem MaterialSystem { get; set; }
public double SigmaA { get; set; }
public double SigmaN { get; set; }
public double SigmaR { get; set; }
public double SigmaMax { get; set; }
public double SigmaMin { get; set; }
public int NCycles { get; set; }
public int NEquiv { get; set; }
public int NFinal { get; set; }
public int NTotal { get; set; }
public int NTotalBlockCycles { get; set; }
}
这是集合绑定到的数据网格
<DataGrid Name="dtaStressInput" Margin="10" Grid.Row="1" ItemsSource="{Binding BlockDatas}" Grid.ColumnSpan="3">
<DataGrid.ColumnHeaderStyle>
<Style TargetType="{x:Type DataGridColumnHeader}">
<Setter Property="FontWeight" Value="Bold" />
<Setter Property="HorizontalContentAlignment" Value="Center" />
<Setter Property="Background" Value="DarkGray"/>
<Setter Property="BorderBrush" Value="#FFEEB622"/>
<Setter Property="BorderThickness" Value="2"/>
</Style>
</DataGrid.ColumnHeaderStyle>
<DataGrid.CommandBindings>
<CommandBinding Command="{x:Static ApplicationCommands.Paste}" Executed="DtaStressInput_Paste"/>
</DataGrid.CommandBindings>
<DataGrid.Columns>
<DataGridTextColumn Header="R Ratio" Binding="{Binding MaterialSystem.R}" Width="1*"/>
<DataGridTextColumn Binding="{Binding SigmaA}" Width="1*">
<DataGridTextColumn.Header>
<TextBlock>σ<Run BaselineAlignment="Subscript">a</Run></TextBlock>
</DataGridTextColumn.Header>
</DataGridTextColumn>
<DataGridTextColumn Binding="{Binding NCycles}" Width="1*">
<DataGridTextColumn.Header>
<TextBlock>n<Run BaselineAlignment="Subscript">i</Run></TextBlock>
</DataGridTextColumn.Header>
</DataGridTextColumn>
</DataGrid.Columns>
</DataGrid>
【问题讨论】:
标签: c#