我想编写一个动态的详细信息视图。就像用户点击一个项目一样,他就会看到详细视图。现在他看到了所有的值,但是当他只想看到一些值时,他在这个视图中点击一个配置按钮,然后打开第二个视图,在那里他可以选择和取消选择所有类型的值。就像他不想看到描述一样,他在第二个视图中取消选择它,并且在第一个视图中它不再可见。
我实现这样的事情的唯一方法是编写一个生成第一个视图的函数。视图将是UI元素。然后将其返回到Windows,其中UI-Element被设置为Window上元素的子元素。但我认为这不是一个好方法。你怎么解决这个问题? 感谢您的每一个提示:)
答案 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属性?