TidBit:これはXAMLでのみ実行でき、C#ではアクセスできません。異なるスタイルのマルチレイヤーグリッド、チャイルドスタイルでは発射しないWPF
私は、ユーザーに応じてコンテンツを有効/無効にするスタイルで、グリッドにフォーム(他のすべてのコントロールを制御するメイングリッド)があるジレンマを持っています。今、グループボックスを表示/非表示にするスタイルのチェックボックスを追加しました。初期のセッターが適用されるが、私の問題は、このスタイルは発生しませんということです。
<Style x:Key="StatusVisibility">
<Setter Property="Control.Visibility" Value="Hidden"/>
<Style.Triggers>
<DataTrigger Binding="{Binding Source={StaticResource Dsource}, Path=Value.Properties[chkbox1].Value}" Value="Y">
<Setter Property="Control.Visibility" Value="Visible"/>
</DataTrigger>
</Style.Triggers>
</Style>
したがって、この場合には、視認性が隠さに設定されるだろうと私は反転した場合、私は、それを見ることができませんここのセッター(最初は表示はVisible)はグループボックスを表示します。ここで
<CheckBox Grid.Row="0" Grid.Column="0" Margin="2,0,2,0" VerticalContentAlignment="Center" Name="ckbox1" HorizontalAlignment="Left" Width="Auto" MinWidth="100"
IsChecked="{Binding Source={StaticResource Dsource}, Path=Value.Properties[ckbox1].Value,Mode=TwoWay,UpdateSourceTrigger=PropertyChanged}"
Content = "Display ?"/>
は私がしようとしているグループボックスである:あるされている場合、「Y」または「N」は、可視性を設定するように、物事はもう少し奇妙、このチェックボックスがデータベースに設定されていることを確認するには
設定するには:
<GroupBox Header="GroupBox" Name="GroupBox" VerticalAlignment="Top" ClipToBounds="False" Margin="2,0,2,0" Style="{StaticResource StatusVisibility}">
を今、私はこれでつもりところ、2つのグリッドがある場合に続いする必要がある特定のルールがあり、親グリッドスタイルはチャイルズグリッドスタイルを上書きしますか?
また、この子グループボックスをオン/オフにしたい場合は、特別な操作を行う必要がありますか?
おかげ
あなたの 'DataTrigger'でバインドしようとしているプロパティが、何らかの' INotifyPropertyChanged'イベントを発生させたとします。そのプロパティが変更されたときに 'DataTrigger'が起動されるようにするには、これが必要になります。 – GEEF
@GEEFいいえ、私はXAMLにしかアクセスできません。 XAMLでブール値を作成し、スタイルを制御する必要がありますか?しかし、どうすればそれを保存し、それをデータベースにもプッシュできますか? –
プロパティがINPCをサポートしているかどうか調べる方法はありますか? – GEEF