Проблема WPF с TemplateBinding - PullRequest
       5

Проблема WPF с TemplateBinding

0 голосов
/ 05 октября 2011

Я использую 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

, хотя немного неловко, но это тот же путь.

Есть какие-нибудь подсказки?

1 Ответ

0 голосов
/ 05 октября 2011

Вы уже сделали свой файл generic.xaml для локального копирования? Также не забудьте установить параметр свойства файла: «Копировать в выходной каталог» в «Копировать всегда», поскольку файл generic.xaml не предназначен для компиляции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...