我正在使用 Calibrun.Micro 制作一个 TempleteControl。为了使问题更简单,我只用 2 x TextBlock cont 重新制作了我的 TempleteControl。
问题
一个 TextBlock 绑定为“TemplateBinding”。它工作正常。我想将 Calibrun.Micro Binding 用于第二个 TextBlock。但是我不知道怎么写..
<TextBlock x:Name="PART_Title" Text="{TemplateBinding Title_Text}" TextAlignment="Center" />
<TextBlock x:Name="PART_Title2" Text="{Binding Title_Text2}" TextAlignment="Center" />
现在,我的代码在“.Set”方法中有错误。
public string Title_Text2 {
get { return _title_Text2; }
set { this.Set(_title_Text2); }
}
有没有办法在 TemplateControl UWP 中使用 Caliburn.Micro 绑定?
请给我你的想法,我可以开始学习......
如果您希望它是可绑定和可动画的,则应始终在自定义控件中使用依赖项属性。
您Title_Text2
应该像Title_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";
}
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句