一連のゲージ ユーザー コントロールをロードするユーザー コントロールに次の XAML があります。
<ItemsControl ItemsSource="{Binding InstanceViper.Gauges}" Grid.Row="7" Grid.ColumnSpan="4">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<WrapPanel Name="GaugePanel" VerticalAlignment="Bottom" HorizontalAlignment="Left" Orientation="Horizontal">
</WrapPanel>
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<local:Gauge DataContext="{Binding}" AlwaysShowGauge="False"></local:Gauge>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
ゲージを常に表示するか、アラーム時にのみ表示するかを決定するフラグを渡しています。ゲージの xaml で、表示するかどうかを判断するために、次のようなことを行いたいと考えています。
<Border Name="MainBorder" Visibility="{Binding (ShowAlarm || AlwaysShowGauge) ,Converter={StaticResource BooleanToVisibilityConverter}}">
問題は、ShowAlarm プロパティがゲージ ビューモデルからのものであり、AlwaysShowGauge がデータ テンプレートで渡されるローカル プロパティであることです。ShowAlarm は動的ですが、AlwaysShowGauge は一度設定すると変更されません。どうすればこれを達成できますか?