2

XAML で定義されたラベル コントロールとスタイルがあります。

<Style x:Key="EditModeEditedHiddenTemplate" TargetType="Control">
   <Setter Property="Background" Value="DarkOrange" />
   <Setter Property="Visibility" Value="Visible" />
</Style>

... 他のもの ...

<Label Grid.Column="0" Grid.Row="1" Name="SomeName" Visibility="Hidden">Some content</Label>

次に、ユーザー入力に基づくコード ビハインドで、次のようにスタイルをコントロールに適用します。

var editModelControlStyle = new Style(control.GetType());

foreach (var setter in editModeStyleTemplate.Setters)
{
    editModelControlStyle.Setters.Add(setter);
}

editModelControlStyle.BasedOn = control.Style;

control.Style = editModelControlStyle;

Background など、ほとんどの依存関係プロパティでは、これは正常に機能します。ただし、これは可視性に関しては機能せず、コントロールはまだ不可視です。

これがなぜなのか、どのように解決するのかを理解するのを手伝ってもらえますか?

4

1 に答える 1