製作一個單獨的問題,涉及到的答案評論WPF 4: What happened to DataGridColumnHeader?WPF4 DataGridHeaderBorder在XAML樣式
看來我可以在用戶控件使用DataGridHeaderBorder,單機在ResourceDictionary中,而不是在一個風格的setter一個模板。
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
>
<!-- Works -->
<DataTemplate x:Key="yomama">
<DataGridColumnHeader />
</DataTemplate>
<!-- Compile Error: error MC3074: The tag 'DataGridHeaderBorder' does not exist in XML namespace 'http://schemas.microsoft.com/winfx/2006/xaml/presentation'. -->
<Style x:Key="{x:Type DataGridRowHeader}"
TargetType="{x:Type DataGridRowHeader}">
<Setter Property="Template">
<Setter.Value>
<ControlTemplate TargetType="{x:Type DataGridRowHeader}">
<Grid>
<DataGridHeaderBorder></DataGridHeaderBorder>
</Grid>
</ControlTemplate>
</Setter.Value>
</Setter>
</Style>
我能得到它的工作,如果我使用的xmlns:DG =「http://schemas.microsoft.com/wpf/2008/toolkit」,即使我不引用該項目WPFToolkit。我已驗證我已設置爲.NET4並引用了PresentationFramework v4。
感謝您幫助我刪除dg:hack。
已提交給MS:https://connect.microsoft.com/VisualStudio/feedback/details/584894如果有機會,請投票 – Thomas 2010-08-09 20:31:03
@Tom。這對我來說,如果我與 xmlns:Themes =「clr-namespace:Microsoft.Windows.Themes; assembly = PresentationFramework.Aero」 HTH – Berryl 2010-08-12 21:50:19
@Berryl,謝謝,但我不應該引用PresentationFramework.Aero,我是不是該? – Thomas 2010-08-13 18:37:29