我在wpf中创建了一个像控件一样的轴,但我对控件的标题有问题。它仅在我调整窗口大小时显示,可能是因为在渲染枢轴控件时尚未测量标题控件。 我可能会忘记某些事情或做错事,但我无法弄清楚它是什么。
我创建了一个解决方案来证明问题。您可以在此处下载http://cid-25374d9051083633.office.live.com/self.aspx/Code/WpfApplication6.zip
有没有人能解决这个问题,或者有人能指出我正确的方向吗?
谢谢。
答案 0 :(得分:0)
您的代码似乎存在一些问题,但我还没有设法让它工作,但这是我注意到的。
您可能希望在您的数据透视控件上创建一个依赖项属性,您可以在Generic.xaml中将模板绑定到您的PivotHeaderItemsControl。
public ObservableCollection<string> Headers
{
get { return (ObservableCollection<string>)GetValue(HeadersProperty); }
set { SetValue(HeadersProperty, value); }
}
// Using a DependencyProperty as the backing store for Headers. This enables animation, styling, binding, etc...
public static readonly DependencyProperty HeadersProperty =
DependencyProperty.Register("Headers", typeof(ObservableCollection<string>), typeof(Pivot), new UIPropertyMetadata(null));
您的ItemsControls的模板似乎也不正确,您已将GridPresenter包装在网格中,但这意味着ItemsSource中的每个项目将彼此叠加。如果您将ItemsPresenter包装在StackPanel或类似的东西中,则应显示所有项目。
<StackPanel>
<ItemsPresenter x:Name="ItemsPresenter"
Grid.Row="1"
Margin="{TemplateBinding Padding}"/>
</StackPanel>
如果您更新样品,我可以再看看。