3
내 템플릿을 ResourceDictionary에 배치하면 어떻게 코드에서 control.Template을 설정할 수 있습니까?코드에서 silverlight 템플릿을 설정 하시겠습니까?
내 템플릿을 ResourceDictionary에 배치하면 어떻게 코드에서 control.Template을 설정할 수 있습니까?코드에서 silverlight 템플릿을 설정 하시겠습니까?
기본적으로 컨트롤의로드 된 이벤트에 연결해야합니다. 이 시점에서 Template 속성에 할당 할 수 있습니다. 리소스 사전에서 템플릿을 검색 할 수 있습니다.
예를 들어, UserControl의 코드에 다른 템플릿을 제공하고 해당 템플릿이 UserControls Resources 속성에 저장되는 TextBox가 포함 된 UserControl이 있다고 가정합니다. 해당 UserControl의 코드 숨김에서
<UserControl xmlns="Namespaces removed for clarity" >
<UserControl.Resources>
<ControlTemplate TargetType="TextBox" x:Key="MyTextBox">
<!-- template mark up here -->
</ControlTemplate>
<UserControl.Resources>
<TextBox x:Name="txt" Loaded="txt_loaded" />
</UserControl>
이 코드 것 : - 내가 텍스트 상자의 자신의로드 이벤트를 사용하고 있는데이 경우
void txt_Loaded(object sender, RoutedEventArgs e)
{
((TextBox)sender).Template = (ControlTemplate)Resources["MyTextBox"];
}
을, 그러나, 당신은 또한 사용할 수 있습니다 UserControls 이벤트를로드했습니다.
void Page_Loaded(object sender, RoutedEventArgs e)
{
txt.Template = (ControlTemplate)Resources["MyTextBox"];
}