2012-01-30 63 views
3

我有我的這datagridtemplatecolumn,我想綁定到我的項目頁上有一個System.Windows.Visibility類型的屬性。問題是,每當編譯XAML下面是它會引發一個像這樣的混合錯誤:「System.Windows.Data.Binding無法轉換爲System.Windows.Visibility」,並在運行時它會拋出像這樣的錯誤「集屬性'System.Windows.Controls.DataGridColumn.Visibility'拋出一個異常。'DataGridTemplate可見性綁定不起作用

<sdk:DataGridTemplateColumn Header="Settings" IsReadOnly="True" Visibility="{Binding ElementName=projectPage, btnEditVisibility}"> 
    <sdk:DataGridTemplateColumn.CellTemplate> 
     <DataTemplate> 
      <Grid x:Name="grdEditCell" ToolTipService.ToolTip="Edit Project" > 
       <sdk:Label Content="Edit" IsEnabled="{Binding isBtnEditEnabled, ElementName=projectPage}" Visibility="{Binding btnEditVisibility, ElementName=projectPage}" HorizontalAlignment="Center" VerticalAlignment="Center" MouseLeftButtonDown="btnEditProject_Click"/> 
      </Grid> 
     </DataTemplate> 
    </sdk:DataGridTemplateColumn.CellTemplate> 
</sdk:DataGridTemplateColumn> 

+0

什麼是'projectPage',它放在哪裏? – 2012-01-30 10:53:13

+0

@anatoliiG projectPage是我已經聲明瞭System.Windows.Controls.Visibility類型的屬性的頁面的名稱,它也使用屬性包裝來實現。我還推動了頁面上的INotifyPropertyChanged接口。 – 2012-01-30 12:35:31

回答

1

什麼是網格的的ItemsSource設置爲?相同的規則是否適用於需要使用相對源綁定的元素綁定。另外,什麼是btnEditVisibility?如果它的按鈕不需要指定按鈕可見性屬性或使用SomethingToVisibility轉換器?

如果可能的話發佈一些更多的代碼。

+0

DataGrid的ItemsSource綁定到了一個域上下文,Enabled和Visibility是在projectPage(我正在使用的頁面)中被執行的屬性。 – 2012-01-30 12:45:37

+0

發佈項目頁面代碼。 – 2012-01-30 16:54:58

+0

它具有25k的xaml代碼行。 – 2012-01-31 01:08:40