Я использую VS2008. У меня есть этот класс
[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. Если я дважды щелкну на сообщении об ошибке, даже если Generic.XAML открыт в VS 2008, я получу другую вкладку для того, что похоже на другой Generic.xaml, за исключением того, что содержимое идентично, и если я копирую полный путь для каждого из вкладки, я вижу это:
C: \ Source \ LyonsForge \ корень \ PumpServicing \ ветви \ PSRT_1_0_2 \ Code \ Bench \ Controls \ Wizard .. \ Themes \ Generic.xaml
C: \ Source \ LyonsForge \ корень \ PumpServicing \ ветви \ PSRT_1_0_2 \ Code \ Bench \ Controls \ Themes \ Generic.xaml
, хотя немного неловко, но это тот же путь.
Есть какие-нибудь подсказки?