WPF日历控件具有绑定警告

时间:2011-11-08 15:54:22

标签: wpf binding calendar

如果我启动一个新的WPF Windows应用程序,并添加 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 个答案:

答案 0 :(得分:1)

您尚未关闭Calendar对象。

你有:

<Calendar>

你需要:

<Calendar />

编译得很好。这表明系统中正在发生其他事情。您100%认为此代码失败了吗?

答案 1 :(得分:0)

我使用Expression Blend提取模板。使用模板作为指导,我发现这是发生绑定错误的地方:

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

将其更改为:

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

绑定错误消失了。