我正在使用VS2008。我有這個類WPF問題TemplateBinding
[System.Windows.Markup.ContentProperty("Child")]
public class CaptionedBox : Control
{
static CaptionedBox()
{
DefaultStyleKeyProperty.OverrideMetadata(typeof(CaptionedBox),
new FrameworkPropertyMetadata(typeof(CaptionedBox)));
}
public static readonly DependencyProperty ShadeVisibilityProperty =
DependencyProperty.Register(
"ShadeVisibility", typeof(Visibility), typeof(CaptionedBox), new
PropertyMetadata(Visibility.Hidden));
}
這個代碼在ResourceDictionary中(在名爲Generic.xaml文件)
<ControlTemplate TargetType="{x:Type wft:CaptionedBox}">
<Grid>
...
<Rectangle Fill="#44000000" Visibility="{TemplateBinding ShadeVisibility}"/>
</Grid>
</ControlTemplate>
有沒有錯誤,沒有問題,我用這個CaptionedBox所有的地方。
我有另一個XAML頁面在同一個項目中引用此ResourceDictionary與Source =「../ Themes/Generic.xaml」。當我打開該頁面時,它會顯示「資源字典XAML文件有錯誤,無法加載」。它指的是那時的Generic.XAML。如果我雙擊錯誤消息,即使在VS 2008中打開Generic.XAML,我也會看到一個不同的Generic.xaml選項卡,除了內容完全相同,並且如果我複製每個Generic.xaml的完整路徑標籤,我看到:
C:\ Source \ LyonsForge \ root \ PumpServicing \ branches \ PSRT_1_0_2 \ Code \ Bench \ Controls \ Wizard .. \ Themes \ Generic.xaml C:\ Source \ LyonsForge \ root \ PumpServicing \ branches \ PSRT_1_0_2 \ Code \ Bench \ Controls \ Themes \ Generic.xaml
雖然有點尷尬,它們是相同的路徑。
任何線索?
我在研究時做過的其他事情:刪除所有obj和bin文件夾,清理並重建整個項目,搜索整個硬盤驅動器以查找Generic.Xaml的其他實例....重新啓動:) –