0
有datgrid与动态列数,这样的:WPF复选框排
<DataGrid DataGridCell.Selected="DataGrid_GotFocus" EnableColumnVirtualization="true" EnableRowVirtualization="true" Name="dataGrid1" DockPanel.Dock="Top" AutoGenerateColumns="False"
Height="120" Width="Auto" CanUserReorderColumns="False" CanUserResizeColumns="False" CanUserAddRows="false" CanUserResizeRows="False" CanUserSortColumns="False" CellEditEnding="dataGrid1_CellEditEnding">
</DataGrid>
for (var i = datetime; i < datetime.AddDays(1); i += TimeSpan.FromHours(1))
{
var column = new DataGridTemplateColumn();
column.Header = (i.Hour + 1).ToString();
column.Width = 30;
column.CellTemplate = (DataTemplate)XamlReader.Load(
new MemoryStream(Encoding.Default.GetBytes(
@"<DataTemplate xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'><TextBlock Text='{Binding ValuesExtended[" + i.Hour + @"].value_nullable, UpdateSourceTrigger=PropertyChanged}'/></DataTemplate>"
)));
column.CellEditingTemplate = (DataTemplate)XamlReader.Load(
new MemoryStream(Encoding.Default.GetBytes(
@"<DataTemplate xmlns='http://schemas.microsoft.com/winfx/2006/xaml/presentation' xmlns:x='http://schemas.microsoft.com/winfx/2006/xaml'><TextBox Text='{Binding ValuesExtended[" + i.Hour + @"].value_nullable, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}'/></DataTemplate>"
)));
dataGrid1.Columns.Add(column);
}
dataGrid1.ItemSource = data;
现在我想一个特殊一行复选框而不是文本,我该怎么办呢? 谷歌搜索的例子,只发现复选框列。
在每行中只有复选框?有没有约束力?你能否解释一下你想在这一行中取得什么成就。 – blindmeis 2012-07-12 06:12:20
是的。与绑定,只有复选框。想要将double值0-1转换为true或false,并将其作为复选框传递给datagrid。 – 2012-07-12 08:57:41