jef*_*ora 5 wpf xaml datatrigger expression-blend
Blend支持显示样式资源的图形表示,并允许您选择要查看或修改的活动属性/事件触发器.但是,由DataTriggers控制视觉元素是很常见的.是否有可能告诉设计师它应该将DataTrigger视为"活动",以便可以在设计器中查看其视觉变化?
例:
<Style x:Key="MyBorder" TargetType="Border">
<Setter Property="CornerRadius" Value="5" />
<Style.Triggers>
<DataTrigger Binding="{Binding IsRandomPropertyActive}" Value="True">
<Setter Property="Background">
<Setter.Value>
<LinearGradientBrush StartPoint="0,0" EndPoint="0,1">
<GradientStop Color="#FFFF8935" Offset="0" />
<GradientStop Color="#FFFF610C" Offset="1" />
</LinearGradientBrush>
</Setter.Value>
</Setter>
</DataTrigger>
</Style.Triggers>
</Style>
Run Code Online (Sandbox Code Playgroud)
在设计器中,这只显示一个空框,因为默认样式不定义特定的视觉方面.反正有没有告诉设计师我希望它假设IsRandomPropertyActive是真的,并显示适当的样式?
如果您将模拟 ViewModel 与 Blend 一起使用,一个不错的技巧是从项目中的单独 XAML 文件加载设计时 ViewModel。如果执行此操作,您可以轻松更改 Blend 内的 XAML,并立即看到更改生效。例如,您可以将模拟 ViewModel 的 XAML 更改为:
<AViewModelObject>
...
<AnotherViewModelObject ... IsRandomPropertyActive="true" ... />
...
</AViewModelObject>
Run Code Online (Sandbox Code Playgroud)
我不知道有什么更简单的方法来实现您想要的功能。