Элемент управления WPF Calendar имеет предупреждения о привязке - PullRequest
0 голосов
/ 08 ноября 2011

Если я запускаю новое приложение Windows WPF и добавляю JUST элемент управления Calendar:

<Window x:Class="MenuBindingTest.MainWindow"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    Title="MainWindow" Height="350" Width="525">
  <Calendar/>
</Window>

И запускаю только это, я получаю следующие ошибки привязки:

(x2) System.Windows.Data Information: 10 : Cannot retrieve value using the binding and no valid fallback value exists; using default instead. BindingExpression:Path=DisplayMode; DataItem=null; target element is 'CalendarItem' (Name='PART_CalendarItem'); target property is 'NoTarget' (type 'Object')
(x7) System.Windows.Data Information: 10 : Cannot retrieve value using the binding and no valid fallback value exists; using default instead. BindingExpression:(no path); DataItem=null; target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String')

Почему это?

Ответы [ 2 ]

1 голос
/ 08 ноября 2011

Вы не закрыли свой Calendar объект.

У вас есть:

<Calendar>

вам нужно:

<Calendar />

, который прекрасно компилируется,Это говорит о том, что в вашей системе происходит что-то еще.Вы на 100% ошибаетесь в этом коде?

0 голосов
/ 08 ноября 2011

Я использовал Expression Blend для извлечения шаблона.Используя шаблон в качестве руководства, я обнаружил, что здесь происходят ошибки привязки:

      <ControlTemplate>
        <ControlTemplate.Resources>
          <DataTemplate x:Key="{x:Static CalendarItem.DayTitleTemplateResourceKey}">
            <TextBlock ...
                       Text="{Binding}" 
                       .../>
          </DataTemplate>
        </ControlTemplate.Resources>
      </ControlTemplate>

Измените его на:

            <TextBlock ...
                       Text="{Binding FallbackValue=''}" 
                       .../>

И ошибки привязки исчезнут.

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