gpt4 book ai didi

wpf - 使用 DataTrigger 仅更改左边距或右边距(或两者)

转载 作者:行者123 更新时间:2023-12-04 02:42:04 24 4
gpt4 key购买 nike

所以我有一个网格需要根据 VM 中的标志更改它的边距。
似乎数据触发器是处理此问题的正确方法。

所以我设置了这个:

<Grid x:Name="myGrid" Grid.Row="1" Margin="30,0">
<Grid.Style>
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding UI_Preferences.RightPanelPinned}" Value="true" >
<Setter Property="Margin" value="200" />
</DataTrigger>
<DataTrigger Binding="{Binding UI_Preferences.LeftPanelPinned}" Value="true" >
<Setter Property="Margin" value="200" />
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>

哪个有效,但我不知道如何单独修改左边距或右边距。

最佳答案

边距实际上是 Thickness元素,所以你可以这样做:

编辑 - 添加了设置机器人的条件:

<Grid x:Name="myGrid" Grid.Row="1" Margin="30,0">
<Grid.Style>
<Style TargetType="Grid">
<Style.Triggers>
<DataTrigger Binding="{Binding UI_Preferences.RightPanelPinned}" Value="true" >
<Setter Property="Margin">
<Setter.Value>
<Thickness Left="200"/>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding UI_Preferences.LeftPanelPinned}" Value="true" >
<Setter Property="Margin">
<Setter.Value>
<Thickness Right="200"/>
</Setter.Value>
</Setter>
</DataTrigger>
<MultiDataTrigger>
<MultiDataTrigger.Conditions>
<Condition Binding="{Binding UI_Preferences.LeftPanelPinned}" Value="true" />
<Condition Binding="{Binding UI_Preferences.RightPanelPinned}" Value="true" />
</MultiDataTrigger.Conditions>
<Setter Property="Margin">
<Setter.Value>
<Thickness Right="200" Left="200"/>
</Setter.Value>
</Setter>
</MultiDataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>

关于wpf - 使用 DataTrigger 仅更改左边距或右边距(或两者),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4272587/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com