반응형
코드에서 WPF 레이블의 Style 속성을 설정 하시겠습니까?
App.xaml에는 다음 코드가 있습니다.
<Application.Resources>
<Style x:Key="LabelTemplate" TargetType="{x:Type Label}">
<Setter Property="Height" Value="53" />
<Setter Property="Width" Value="130" />
<Setter Property="HorizontalAlignment" Value="Left" />
<Setter Property="Margin" Value="99,71,0,0" />
<Setter Property="VerticalAlignment" Value= "Top" />
<Setter Property="Foreground" Value="#FFE75959" />
<Setter Property="FontFamily" Value="Calibri" />
<Setter Property="FontSize" Value="40" />
</Style>
</Application.Resources>
이것은 내 레이블에 대한 일반 템플릿을 제공하기위한 것입니다.
기본 XAML 코드에는 다음 코드 줄이 있습니다.
<Label Content="Movies" Style="{StaticResource LabelTemplate}" Name="label1" />
그러나 코드를 통해 Style 속성을 초기화하고 싶습니다. 나는 시도했다 :
label1.Style = new Style("{StaticResource LabelTemplate}");
과
label1.Style = "{StaticResource LabelTemplate}";
두 솔루션 모두 유효하지 않습니다.
어떤 도움을 주시면 감사하겠습니다 :).
코드에서 스타일을 얻으려는 곳은 어디입니까? 코드 뒤에?
다음과 같이 작성해야합니다.
코드 숨김에있는 경우 :
Style style = this.FindResource("LabelTemplate") as Style;
label1.Style = style;
당신이 다른 곳에 있다면
Style style = Application.Current.FindResource("LabelTemplate") as Style;
label1.Style = style;
하단 참고 :Style
키워드로 a 이름을 지정하지 마십시오 .Template
결국 a Style
와 a를 혼동하게 Template
되며 두 가지 다른 개념이므로 사용하지 마십시오.
null 스타일 결과를 확인하지 않으면 슬프게 될 것입니다 ... ... if (style! = null) this.Style = style;
오래된 질문 일 수도 있지만 W10을 시도하는 경우 UWP 앱은 각 개체의 리소스 컬렉션 또는 Application 개체의 리소스 컬렉션을 사용해야합니다.
KeyValuePair<object,object> styl = this.Resources
.Where(x => x.Key.ToString() == "MyStyleTemplateName")
.FirstOrDefault();
if (styl.Value != null)
Style MyStyle = (Style)styl.Value;
어디 MyStyleTemplateName은 의 자원으로 정의해야합니다 이
참고 URL : https://stackoverflow.com/questions/10686917/setting-the-style-property-of-a-wpf-label-in-code
반응형
'developer tip' 카테고리의 다른 글
ReSharper 오류 :“출력이 한도에 도달하여 잘 렸습니다. (0) | 2020.10.26 |
---|---|
블록 내부에서 [self methodName] 호출? (0) | 2020.10.26 |
td 너비, 작동하지 않습니까? (0) | 2020.10.26 |
Android ArrayList of custom objects-Save to SharedPreferences-Serializable? (0) | 2020.10.25 |
NSImage를 새 파일로 저장하는 방법 (0) | 2020.10.25 |