2012-07-23 30 views
0

我希望我的wpf窗口中的控件根据用户是查看还是编辑/插入数据来更改。例如,我想在查看时显示标签,但在编辑/插入时显示文本框(或组合框等)。用于编辑和查看数据的不同控件

我可以使用DataTemplates来做到这一点,还是必须为每个数据项有两个控件,并根据窗体所处的模式更改可见性?

如果DataTemplates将完成这项工作,任何人都可以指点我一些例子吗?

千恩万谢 mcalex

回答

0

在我看来,更好的方式来做到这一点是使用differrent数据模板控制,在情况下,当你总是需要一起使用它们。 无论如何你必须选择开关模板或控制机制。您可以使用DataTrigger (first answer)ValueConverter

+0

呀,结束了对文本框,标签等设置的ControlTemplate(不DataTemplate中),并结合这与依赖属性(只读),以应对可编辑状态。这指出了我的方向,所以我会将其标记为答案。 – mcalex 2012-09-24 06:52:09

0
<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

请添加如何解决用户问题的说明。此外,请阅读[如何回答](http://stackoverflow.com/help/how-to-answer) – Marusyk 2015-09-24 06:43:57

相关问题