UWP模板控制与Caliburn。微绑定,如何?
我正在用Calibrun.Micro制作一个模板控件。 为了使问题更简单,我只使用2 x TextBlock cont重新生成TempleteControl 问题 一个文本块绑定为“TemplateBinding”。它很好用。 我想对第二个文本块使用Calibrun.Micro绑定。但是我不知道怎么写UWP模板控制与Caliburn。微绑定,如何?,uwp,caliburn.micro,Uwp,Caliburn.micro,我正在用Calibrun.Micro制作一个模板控件。 为了使问题更简单,我只使用2 x TextBlock cont重新生成TempleteControl 问题 一个文本块绑定为“TemplateBinding”。它很好用。 我想对第二个文本块使用Calibrun.Micro绑定。但是我不知道怎么写 <TextBlock x:Name="PART_Title" Text="{TemplateBinding Title_Text}" TextAlignment="Center" />
<TextBlock x:Name="PART_Title" Text="{TemplateBinding Title_Text}" TextAlignment="Center" />
<TextBlock x:Name="PART_Title2" Text="{Binding Title_Text2}" TextAlignment="Center" />
有没有办法在TemplateControl UWP中使用Caliburn.Micro绑定
请告诉我您的想法,我可以开始学习…如果您希望自定义控件具有可绑定性和动画性,则应始终在自定义控件中使用依赖项属性
您的Title\u Text 2
应该像Title\u Text
一样定义。我以前没有使用Caliburn.Micro,但是Set
方法可能是他们在ViewModel中通知属性更改的方法。在控件中,你不应该这样做
更新 实际上,您在代码中注释的内容几乎是正确的。您可以获取该
TextBlock
的引用,并在内部更新其Text
private TextBlock _titleTextBlock;
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
_titleTextBlock = GetTemplateChild(TitlePart2Name) as TextBlock;
if (_titleTextBlock != null)
{
_titleTextBlock.Text = "ByeBye by GetTemplateChild";
}
}
谢谢你,贾斯汀很多次:)…Title_Text2,我不想把它当作从属财产。因为它是内在价值。但我想更新课堂上的值…………一如既往地欢迎您。:)请看我更新的答案。哇。我完全理解,在Templete控件中,我们应该使用DependencyProperty,或者使用GetTemplateChild查找属性!是的,您使用依赖属性公开公共属性API供其他人使用;您可以使用
GetTemplateChild
查找自定义控件的ControlTemplate
中定义的控件/面板/形状,以便与它们进行内部交互。
private TextBlock _titleTextBlock;
protected override void OnApplyTemplate()
{
base.OnApplyTemplate();
_titleTextBlock = GetTemplateChild(TitlePart2Name) as TextBlock;
if (_titleTextBlock != null)
{
_titleTextBlock.Text = "ByeBye by GetTemplateChild";
}
}