动态详细信息视图C#Xaml

时间:2015-04-02 13:49:00

标签: c# xaml dynamic detailsview

我想编写一个动态的详细信息视图。就像用户点击一个项目一样,他就会看到详细视图。现在他看到了所有的值,但是当他只想看到一些值时,他在这个视图中点击一个配置按钮,然后打开第二个视图,在那里他可以选择和取消选择所有类型的值。就像他不想看到描述一样,他在第二个视图中取消选择它,并且在第一个视图中它不再可见。

我实现这样的事情的唯一方法是编写一个生成第一个视图的函数。视图将是UI元素。然后将其返回到Windows,其中UI-Element被设置为Window上元素的子元素。但我认为这不是一个好方法。你怎么解决这个问题? 感谢您的每一个提示:)

2 个答案:

答案 0 :(得分:0)

如果我理解你想要

列表 - >详细信息 - > MoreDetails /编辑

根据您创建的平台有所不同,但想法如下:

<ItemsControl ... x:Name="ItemsList" ItemsSource="{Binding}">
   <ItemsControl.ItemTemplate>
         <DataTemplate>
    <Grid>
              <Interactivity:Interaction.Behaviors>
                 <core:EventTriggerBehavior EventName="Tapped">
                       <core:InvokeCommandAction 
        Command="{Binding Datacontext.ShowItemDetails, ElementName=ItemsList}" CommandParameter="{Binding}"/>
         </core:EventTriggerBehavior>
    </Interactivity:Interaction.Behaviors>
            </Grid>
     </DataTemplate>
</ItemsControl>

现在,当您点击网格时,您可以显示带有详细信息和DataContext的PopupControl:

public Command<ItemClass> ShowPopup
{
 get
  {
    return new Command<ItemClass>((i)=>
    {
    //Create the Popup
    });
  }
}

如果你没有使用MVVM,你可以在代码中添加Command并放在页面构造函数this.DataContext = this;并将上一个命令放在那里。

现在为弹出窗口的内容创建一个控件,将属性绑定到项目详细信息,现在使用该控件中的命令添加另一个行为,取消隐藏编辑模式或更多详细信息模式的控件

答案 1 :(得分:0)

你可以为每个细节项创建一个属性书Item IsVisible,它绑定到配置视图中的复选框,以及详细视图中X控件的IsVisible属性?