【问题标题】:Dynamic Detail View C# Xaml动态详细视图 C# Xaml
【发布时间】:2015-04-02 13:48:59
【问题描述】:
我想编写一个动态详细视图。就像用户点击了一个项目然后他看到了详细视图。现在他看到了所有的值,但是当他只想看到几个值时,他单击此视图中的配置按钮,然后打开第二个视图,他可以在其中选择和取消选择所有类型的值。就像他不想看到描述一样,他在第二个视图中取消选择它,它在第一个视图中不再可见。
实现这样的事情的唯一方法是编写一个生成第一个视图的函数。该视图将是一个 UI 元素。然后将其返回到将 UI 元素设置为窗口上元素的子项的窗口。但我认为这不是一个好方法。你将如何解决这个问题?
感谢您的每一个提示:)
【问题讨论】:
标签:
c#
xaml
dynamic
detailsview
【解决方案1】:
如果我理解你想要的
列表 -> 详细信息 -> 更多详细信息/编辑
根据您创建的平台有所不同,但想法如下:
<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,您可以在代码后面添加命令并放置在页面构造器中 this.DataContext = this;并将上一个命令放在那里。
现在为弹出窗口的内容创建一个控件,将属性绑定到项目详细信息,现在在该控件中使用命令添加另一个行为,并取消隐藏编辑模式或更多详细信息模式的控件
【解决方案2】:
您可以为每个详细项设置一个属性 bool ItemXIsVisible,该属性绑定到配置视图中的复选框,并绑定到详细视图中 X 控件的 IsVisible 属性?