私は次のようにxamlとControlTemplateを使用しています。
<ControlTemplate TargetType="{x:Type local:MyControl}" x:Key="MyControlTemplate">
<Grid Background="Transparent" Name="DisplayGrid" >
<local:MyDisplay x:Name="DisplayInstance" />
<ContentPresenter />
</Grid>
</ControlTemplate>
コード:
public class MyControl : UserControl
{
....
....
....
public MyControl()
{
Template = (ControlTemplate)Resources["MyControlTemplate"];
MyDisplay display = Template.FindName("DisplayInstance", this);
// It return null
}
}
テンプレートで「DisplayInstance」を取得して設定したいと思います。(Template.FindName(string、FrameworkElement)を使用して)公式メソッドを試しましたが、常にnullを返します。
では、ControlTemplate / Xamlで「DisplayInstance」やその他のコントロールを取得して変更するにはどうすればよいですか?ControlTemplateの内容が実行時に変更されるようにします。
ありがとうございました。