我希望wpf窗口中的控件根据用户是在查看还是编辑/插入数据而改变。例如,我想在查看时显示标签,但在编辑/插入时显示文本框(或组合框等)。
我可以使用DataTemplates执行此操作,还是必须为每个数据项设置两个控件,并根据表单的模式更改可见性?
如果DataTemplates能够完成这项工作,有人可以向我指出一些例子吗?
非常感谢 mcalex答案 0 :(得分:1)
<StackPanel>
<Label Name="header" Content="Add New Employee" Style="{StaticResource Heading}"/>
<Separator></Separator>
<GroupBox Margin="0,10,0,0">
<Grid>
<Grid Margin="10,40,10,10" Name="AddEmployeeGrid">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
<RowDefinition Height="30"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100"/>
<ColumnDefinition Name="MarginColumn" Width="30"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
答案 1 :(得分:0)
在我看来,更好的方法是使用不同的数据模板进行控制,以防您总是需要一起使用它们。 无论如何,您必须选择开关模板或控制机制。您可以使用DataTrigger (first answer)或ValueConverter