グリッドを含むWPFアプリケーションがあります。グリッドは3つの列に分割され、3つ目のグリッドは負荷時に幅がゼロになります。グリッド列の表示と非表示を切り替えるWPF DataTrigger XAML
私は他の2つの列に2つのデータグリッドを持っています。一方のデータグリッド内の選択されたアイテムが変更されると、他方のデータグリッドが変更され、値、すなわちマスター詳細テンプレートが表示される。これはすべて正常に動作します。
データグリッドに1つの値があります。この値を選択すると、この3番目の列の幅を0から2 *に変更します。私はこれをする方法を知らない?
これをXAMLで実現したいと思います。私はデータのトリガー&値コンバータを見てきました。私はすぐにテストするためにいくつかのコードを以下に書いた。私はwidth = 0に列を設定することを読んだが、おそらく依存関係プロパティの優先順位リストの方が高いでしょう。とにかくこれを行うには、または私は後ろにコードを使用する必要がありますか?
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition/>
<ColumnDefinition Width="2*"/>
<ColumnDefinition Width="0"/>
</Grid.ColumnDefinitions>
<DataGrid Grid.Column="0"
ItemsSource="{Binding OrderList}"
SelectedItem="{Binding OrderSelected}"
AutoGenerateColumns="True">
</DataGrid>
<TextBox Grid.Column="1" Text="{Binding OrderSelected.Name}">
</TextBox>
<Grid x:Name="columnHideSeek" Grid.Column="2" Background="Blue">
<Grid.Style>
<Style>
<Style.Triggers>
<DataTrigger Binding="{Binding OrderSelected.Name}" Value="Mark">
<Setter Property="Grid.Width" Value="10"/>
</DataTrigger>
</Style.Triggers>
</Style>
</Grid.Style>
</Grid>
</Grid>
私はユーザーの視認性を超えて幅を – Paparazzi
他の列のサイズが表示されていない場合に影響を与えますか? – mHelpMe
私は見た目を崩壊させ、隠してみました。しかし、何も起こっていないようです。 3列目はまだ他の2列のサイズに影響を与えているように見えます – mHelpMe