如何操作uwp中列表框内的数据模板

时间:2018-01-06 06:58:11

标签: xaml uwp

我正在UWP中使用XAML制作聊天应用程序。侧面板由用户组成。像这样。

enter image description here

所有内容都在列表框中,我在这个模板中包含一个椭圆作为一个圆圈,就像一个指标一个用户图像文本块和一个切换开关。我必须在切换开关处于状态,它应该改变圆的绿色并使其变为红色。

我想在MainPage.cs中的代码c#中提供此功能。我做了切换事件处理程序切换的对象,但我无法访问数据模板中的其他元素,如ellispse,textblock。 这样做的另一种替代方法是什么?

注意 :它必须位于列表框中,因为我想为每个用户使用相同的模板。

1 个答案:

答案 0 :(得分:0)

执行此操作的最佳方法是使用数据绑定。

您要为该项定义一个ViewModel类,该类包含bool属性,并会对设置器中切换的切换做出反应,或者设置Command当状态事件使用行为改变时执行。

如果您真的希望代码作为主页上的事件处理程序,那么您有一些选择。要获取与切换关联的项目,可以使用其DataContext属性并将其强制转换为您正在使用的数据类型。或者,您可以使用UWP Community Toolkit提供的Visual Tree Extesnions。这使您可以找到存储所有项控件的父级(可能是Grid),然后手动查找用户图像TextBlock等。