Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WPF/Silverlight条件样式_Wpf_Silverlight - Fatal编程技术网

WPF/Silverlight条件样式

WPF/Silverlight条件样式,wpf,silverlight,Wpf,Silverlight,给定下面的对象图,根据父对象是否有子对象,我需要应用两种不同的样式 我不确定如何在这样的条件下设置样式,有人能帮忙吗 Parent (Object) Prop1 (string) Prop2 (string) Children (List<Object>) 父对象(对象) Prop1(字符串) Prop2(字符串) 儿童(名单) 提前感谢。您可以尝试使用IValueConverter并将其绑定到Style属性,将当前对象作为转换参数传递。在IValueConverte

给定下面的对象图,根据父对象是否有子对象,我需要应用两种不同的样式

我不确定如何在这样的条件下设置样式,有人能帮忙吗

Parent (Object)
 Prop1 (string)
 Prop2 (string)
    Children (List<Object>)
父对象(对象)
Prop1(字符串)
Prop2(字符串)
儿童(名单)

提前感谢。

您可以尝试使用IValueConverter并将其绑定到Style属性,将当前对象作为转换参数传递。在IValueConverter中,返回正确的样式


或者,您可以使用DataTemplateSelector并基于Children.Count交换DataTemplates。我对您的对象/属性了解不够,无法确定您是否需要不同的DataTemplate或相同DataTemplate的不同样式。

选择器可能不是一个好的选择,因为如果添加或删除子对象,选择器将不会重新运行。另外,不清楚他是WPF还是Silverlight,但如果是Silverlight,我认为没有选择器。