我目前在C#WPF 4.5中工作,并试图创建一个交互式网格。给定网格单元格的大小(宽度=高度),列数和行数,我想在屏幕上动态生成网格。交互式网格WPF
对于生成的网格,我希望网格线可见。我想这可以通过在每个单元格中绘制边框来模拟,如果没有其他的话。除此之外,我需要一个事件来确定用户单击哪个单元格(即点击返回网格列和行),并且一次选择一个或多个单元格。
任何关于如何创建类似的东西或想法的帮助或想法,还是有更好的方法去解决它?提前致谢!
编辑: 因此,这里的一些进展,我做了:
创建一个自定义的复选框:
<Style x:Key="styleCustomCheckBox" TargetType="{x:Type CheckBox}"> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type CheckBox}"> <Grid x:Name="Background" Background="Transparent"> <Rectangle x:Name="fillCheckBox"/> </Grid> <ControlTemplate.Triggers> <Trigger Property="IsChecked" Value="False"> <Setter TargetName="fillCheckBox" Property="Fill" Value="Transparent"/> </Trigger> <Trigger Property="IsChecked" Value="True"> <Setter TargetName="fillCheckBox" Property="Fill" Value="Red"/> <Setter TargetName="fillCheckBox" Property="Opacity" Value=".3"/> </Trigger> </ControlTemplate.Triggers> </ControlTemplate> </Setter.Value> </Setter> </Style>
然后就是填充网格的,自定义复选框款式:
<CheckBox Grid.Column="1" Grid.Row="1" Style="{StaticResource styleCustomCheckBox}" />
所以现在我想映射网格中的每个复选框,我可以收集复选框是否被选中以及网格的行和列是什么,我将如何去做这件事?
蓝色边框是默认'ListBox'风格的一部分。你可以很容易地改变它。 – 2013-02-26 03:30:55