[WPF] C# 코드 컨트롤 스타일 동적으로 변경

2838 단어
요구사항: C# 코드에서 생성된 버튼 세트인 Button은 스타일을 설정해야 합니다.
XAML에 스타일을 가져오는 경우:

<UserControl.Resources>
    <ResourceDictionary>
        <ResourceDictionary.MergedDictionaries>
            
            <ResourceDictionary Source="/Presentation/Resources/ColorResources.xaml" />
            
            <ResourceDictionary Source="/Presentation/Style/MyRadioButton.xaml" />
            <ResourceDictionary Source="/Presentation/Style/MyTextBlock.xaml" />
            <ResourceDictionary Source="/Presentation/Style/MyComboBox.xaml" />
        ResourceDictionary.MergedDictionaries>
    ResourceDictionary>
UserControl.Resources>

그러나 지금은 단추가 코드로 동적으로 생성되기 때문에 생성할 때 스타일을 지정해야 한다.스타일 파일은 개별적으로 추출되었습니다.
//        
var myResourceDictionary = new ResourceDictionary
{
    Source = new Uri("/ProjectName;component/Presentation/Style/MyButton.xaml", UriKind.RelativeOrAbsolute) //          
};
var myButtonStyle = myResourceDictionary["myButton1"] as Style; //   key       

//       
Button btn = new Button()
{
    Content = "    ",
    Style = myButtonStyle, //     
};

중요한 참고 사항:
http://stackoverflow.com/questions/18813177/how-do-i-access-a-resourcestyle-through-code

좋은 웹페이지 즐겨찾기