[英]How to set the Grid.column value in the style datatrigger in WPF
我在行= o和列= 1中有一個網格在單擊按鈕時,我想更改此grid.row = 0和grid.column = 0。 我嘗試通過創建帶有數據觸發器的樣式來設置grod.column = 0,因為這是gris的本地值,並且在樣式屬性中不可用.Grid.column的值未更改。能否請您幫我如何更改xaml中的grid.column值以滿足我的要求。
更改列就像更改附加屬性的值一樣容易。
下面是一個示例,其中ToggleButton
根據IsChecked
值在第一列和第二列之間移動:
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="100" />
<ColumnDefinition Width="100" />
</Grid.ColumnDefinitions>
<ToggleButton>
<ToggleButton.Style>
<Style>
<!-- <Setter Property="Grid.Column" Value="0" /> optional, see below for explanation -->
<Style.Triggers>
<Trigger Property="ToggleButton.IsChecked" Value="True">
<Setter Property="Grid.Column" Value="1" />
</Trigger>
</Style.Triggers>
</Style>
</ToggleButton.Style>
</ToggleButton>
</Grid>
演示:
是否使用DataTrigger
。
在處理依賴項屬性時,請注意值優先級 ,例如,在本地設置值將使觸發器無用(您將不得不使用另一種方法,例如StoryBoard
來覆蓋它):
<ToggleButton Grid.Column="0"> <!-- trigger will not be able to change it -->
...
樣式設置器是設置初始值的正確位置(請參閱上面第一個xaml中的注釋部分)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.