私はWPFに本当に慣れていないので、スタイルに関係するいくつかのことを理解するのに苦労しています。まず、スタイルはどこにもエラーをスローしませんが、それが完全に正しいかどうかはまだわかりません...そのため、スタイルの XAML を次に示します。
編集: スタイルは、カスタム ユーザー コントロールが Storyboard と DoubleAnimation を使用してフェードインできるようにする必要があります
<Application.Resources>
<Style TargetType="{x:Type UserControl}" x:Key="UCStyle">
<Style.Triggers>
<DataTrigger Binding="{Binding Visibility}" Value="Visible">
<DataTrigger.EnterActions>
<BeginStoryboard>
<Storyboard>
<DoubleAnimation Storyboard.TargetProperty="UserControl.Opacity" From="0.0" To="1.0" Duration="0:0:3">
</DoubleAnimation>
</Storyboard>
</BeginStoryboard>
</DataTrigger.EnterActions>
</DataTrigger>
</Style.Triggers>
</Style>
</Application.Resources>
ここから、チェックボックスを使用してユーザーコントロールをキャンバスの子に追加します。
private void CheckBox_Checked(object sender, RoutedEventArgs e)
{
UserControlLibrary.UserControl1 userControl = new UserControlLibrary.UserControl1();
userControl.Style = Resources["UCStyle"] as Style;
canvas1.Children.Add(userControl);
}
私はSOについて読んだところ、キーをスタイルとして参照して、プログラムでスタイルを適用する方法であることを示唆するいくつかの回答が見つかりました。ただし、これを実行すると、ユーザーコントロールがフェードインしているようには見えません (スタイリングが示唆するように)。
ここで重要な何かが欠けていますか? それとも少しばかげているだけですか?
編集2:
チェックボックスをチェックしたイベントを変更して、キャンバスに追加した後に可視性を非表示に設定し、クリックイベントで可視性を可視に設定する新しいボタンを追加しましたが、残念ながら問題は解決しませんでした。