반응형
Xaml Value 필드에서 사용자 지정 색상 값을 설정하려면 어떻게 해야 합니까?
그래서 저는 다음과 같은 XAML을 가지고 있습니다.
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="Red"></Setter>
</Trigger>
색상 설정 방법Red
와 비슷한 정도로250 200 150
노력했습니다Color 250 200 150
,그리고.250 200 150
하지만 효과가 없습니다.아이디어 있어요?
HTML 스타일 색상을 사용합니다.
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="#FF0000"></Setter>
</Trigger>
또는 알파 투명도를 원하는 경우:
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="#80FF0000"></Setter>
</Trigger>
또는 250,200,150의 예제 색상을 사용합니다.
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="#FAC896"></Setter>
</Trigger>
죄송해요, 제가 잘못 생각했어요.이 방법은 0에서 1 사이의 부동 소수점 값을 사용하는 것입니다.
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="sc#1.0,0.7,1.0,0.5"></Setter>
</Trigger>
ARGB 값을 사용하려면 이것을 사용해야 합니다. 조금 덜 직접적입니다.
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background">
<Setter.Value>
<SolidColorBrush>
<SolidColorBrush.Color>
<Color A="255" R="250" G="200" B="150"/>
</SolidColorBrush.Color>
</SolidColorBrush>
</Setter.Value>
</Setter>
</Trigger>
갱신하다
사용자 정의를 사용할 수도 있습니다.MarkupExtension
<Trigger Property="ItemsControl.AlternationIndex" Value="2">
<Setter Property="Background" Value="{markup:BrushFromArgb 255, 250, 200, 150}"/>
</Trigger>
Argb 확장에서 브러시
public class BrushFromArgbExtension : MarkupExtension
{
public BrushFromArgbExtension() { }
public BrushFromArgbExtension(byte a, byte r, byte g, byte b)
{
A = a;
R = r;
G = g;
B = b;
}
public byte A { get; set; }
public byte R { get; set; }
public byte G { get; set; }
public byte B { get; set; }
public override object ProvideValue(IServiceProvider serviceProvider)
{
return new SolidColorBrush(Color.FromArgb(A, R, G, B));
}
}
그리고 비슷한.MarkupExtension
에도 사용할 수 있습니다.Color
<SolidColorBrush Color="{markup:FromArgb 255, 255, 200, 150}"/>
원본 Argb 확장
public class FromArgbExtension : MarkupExtension
{
public FromArgbExtension() { }
public FromArgbExtension(byte a, byte r, byte g, byte b)
{
A = a;
R = r;
G = g;
B = b;
}
public byte A { get; set; }
public byte R { get; set; }
public byte G { get; set; }
public byte B { get; set; }
public override object ProvideValue(IServiceProvider serviceProvider)
{
return Color.FromArgb(A, R, G, B);
}
}
XAML 제어 요소의 "background" 속성을 직접 16진수 값으로 설정할 수 있습니다.
<Button Background="#292929">
원하는 경우 시작 부분에 알파를 추가할 수도 있습니다.
<Button Background="#55292929">
여기서 자세히 알아보기
언급URL : https://stackoverflow.com/questions/4158871/how-can-i-set-custom-colors-values-in-a-xaml-value-field
반응형
'programing' 카테고리의 다른 글
gitstash 변경 사항이 새 지점에 적용됩니까? (0) | 2023.05.22 |
---|---|
부분적으로 깃과 약속을 선택하는 것. (0) | 2023.05.22 |
.NET 4.0에는 새로운 GAC가 있습니다. 이유는 무엇입니까? (0) | 2023.05.17 |
Python 패키지를 설치할 때 "오류: Microsoft Visual C++ 14.0 이상이 필요합니다"를 해결하는 방법은 무엇입니까? (0) | 2023.05.17 |
루비의 배열에 값이 있는지 확인하는 방법 (0) | 2023.05.17 |