source

XAML 스타일에서 솔리드 배경을 그라데이션으로 변경하는 방법은 무엇입니까?

factcode 2023. 6. 3. 08:47
반응형

XAML 스타일에서 솔리드 배경을 그라데이션으로 변경하는 방법은 무엇입니까?

저는 주요 자원을 가지고 있습니다.응용프로그램의 각 창 모양을 정의하는 스타일이 있는 xaml 파일:

  <Style x:Key="MainBorderStyle" TargetType="{x:Type Border}">
    <Setter Property="Background" Value="WhiteSmoke" />
    <Setter Property="BorderBrush" Value="LightGray" />
    <Setter Property="BorderThickness" Value="1" />
    <Setter Property="CornerRadius" Value="5" />
    <Setter Property="SnapsToDevicePixels" Value="True" />
  </Style>

"WhiteSmoke" 대신에 저는 제 배경이 다음과 같은 그라데이션이 되기를 바랍니다.

    <LinearGradientBrush>
        <GradientStop Color="#ccc" Offset="0"/>
        <GradientStop Color="#bbb" Offset="1"/>
    </LinearGradientBrush>

그러나 다음과 같은 시도로 인해 VS2008은 "스타일 설정자는 하위 요소를 지원하지 않습니다"라고 말합니다.

<Style x:Key="MainBorderStyle" TargetType="{x:Type Border}">
    <Setter Property="Background">
        <LinearGradientBrush>
            <GradientStop Color="#ccc" Offset="0"/>
            <GradientStop Color="#bbb" Offset="1"/>
        </LinearGradientBrush>
    </Setter>
    <Setter Property="BorderBrush" Value="LightGray" />
    <Setter Property="BorderThickness" Value="1" />
    <Setter Property="CornerRadius" Value="5" />
    <Setter Property="SnapsToDevicePixels" Value="True" />
</Style>

이 스타일의 배경으로 그라데이션 색상을 지정하는 올바른 방법은 무엇입니까?

당신은 그것을(를)<Setter.Value>

<Style ...> 
   <Setter Property="...">
      <Setter.Value>
         <LinearGradientBrush />
      </Setter.Value>
   </Setter>
</Style>

언급URL : https://stackoverflow.com/questions/520190/in-xaml-style-how-to-change-solid-background-to-gradient

반응형