マイコード:XAMLでWindowの前にリソースを宣言する方法は?
<Window ...
Title="Notification" Height="90" Width="300" ResizeMode="NoResize" WindowStyle="None" DataContext="{Binding Notification, Source={StaticResource Locator}}" Opacity="{Binding TransitionOpacity}" Left="{Binding LeftMargin}" Top="{Binding TopMargin}" Visibility="{Binding IsVisible, Converter={StaticResource BoolToVisibility}}">
<Window.Resources>
<local:BoolToVisibleOrHidden x:Key="BoolToVisibility" />
</Window.Resources>
<Grid Background="#FF3C4759">
...
</Window>
コンパイルしている間、私は例外System.Windows.Markup.XamlParseExceptionを取得し、
<Window ...
Title="Notification" Height="90" Width="300" ResizeMode="NoResize" WindowStyle="None" DataContext="{Binding Notification, Source={StaticResource Locator}}" Opacity="{Binding TransitionOpacity}" Left="{Binding LeftMargin}" Top="{Binding TopMargin}" >
<Window.Resources>
<local:BoolToVisibleOrHidden x:Key="BoolToVisibility" />
</Window.Resources>
<Grid Background="#FF3C4759" Visibility="{Binding IsVisible, Converter={StaticResource BoolToVisibility}}">
...
</Window>
への変更コードの後に、それは動作しますが、私が代わりにグリッドのウィンドウの可視性を設定したいです。
あなたは静的なリソースへのデータバインディングを追加することはできません。
別の方法は、このような
Visibility
を設定することです。リソースのトリガーを使用してスタイルを変更するか、グリッドをリソースとして宣言しないで、通常の要素としてバインディングを使用してください。 –「ウィンドウの可視性を設定しますか?」とはどういう意味ですか? IsVisibleに応じてウィンドウを表示したり隠したりしたいですか? –
@ThomasFlinkowはい – ArcheR