将文本设置为自定义标题页透视
本文关键字:标题 透视 自定义 文本 设置 | 更新日期: 2023-09-27 17:57:17
我已经创建了数据透视页面,我希望在顶部的 2 个文本块中显示一些信息。我创建了数据模板并为文本字段设置了x:names。但是我无法将页面构造函数连接到此文本块并放在那里。为什么?我怎么能欺骗这种情况?我需要在页面加载时将信息放入文本块。
<controls:Pivot.TitleTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock x:Name="textBlock_eventID" TextWrapping="NoWrap" Margin="0"/>
<TextBlock x:Name="textBlock_eventName" TextWrapping="NoWrap" Opacity="0.7"/>
</StackPanel>
</DataTemplate>
</controls:Pivot.TitleTemplate>
使用DataTemplate的目的是定义业务对象的表示形式。也就是说,如果你有一个像下面这样的类:
public class MyClass
{
public string StringOne { get; set; }
public string StringTwo { get; set; }
}
如果将透视控件的 Title 属性设置为此类的实例,则可以使用 DataTemplate 来定义希望它的外观。
在您的情况下,模板可能如下所示:
<controls:Pivot.TitleTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding StringOne}" TextWrapping="NoWrap" Margin="0"/>
<TextBlock Text="{Binding StringTwo}" TextWrapping="NoWrap" Opacity="0.7"/>
</StackPanel>
</DataTemplate>
</controls:Pivot.TitleTemplate>
然后,从代码隐藏中,您将设置 Pivot 控件的 Title 属性。像这样:
myPivotControl.Title = new MyClass
{
StringOne = "Some String",
StringTwo = "Some other string"
};
还有另一种方法可以做到这一点,它允许您简单地从隐藏的代码中设置文本框,但这不涉及 DataTemplate。
设置透视控件的 Title 属性(如下所示)将使您能够按名称访问文本框:
<controls:Pivot.Title>
<StackPanel Orientation="Horizontal">
<TextBlock x:Name="textBlock_eventID" TextWrapping="NoWrap" Margin="0"/>
<TextBlock x:Name="textBlock_eventName" TextWrapping="NoWrap" Opacity="0.7"/>
</StackPanel>
</controls:Pivot.Title>
阅读本文,了解有关数据模板的更多信息