2010-01-19 21 views
0

我很疑惑。我試圖創建一個名爲TranslationView的用戶控件。它幾乎完全由一個ListView組成。我不想認爲然而,現在很重要,因爲我甚至無法編譯我的代碼隱藏。WPF貌似超級簡單的依賴屬性

這是代碼隱藏的用戶控件:

namespace Subster 
{ 

    /// <summary> 
    /// Interaction logic for TranslationView.xaml 
    /// </summary> 
    public partial class TranslationView : UserControl 
    { 

     // Generated using "propdp" in Visual Studio 2008. 
     public ObservableCollection<TransRowOrig> TranslationSource 
     { 
      get { return (ObservableCollection<TransRowOrig>)GetValue(TranslationSourceProperty); } 
      set { SetValue(TranslationSourceProperty, value); } 
     } 

     // Generated using "propdp" in Visual Studio 2008. 
     public static readonly DependencyProperty TranslationSourceProperty = 
      DependencyProperty.Register("TranslationSource", 
             typeof(ObservableCollection<TransRowOrig>), 
             typeof(TranslationView)); 

     public TranslationView() 
     { 
      InitializeComponent(); 
     } 

    } 
} 

這是實際的XAML:

<UserControl x:Class="Subster.TranslationView" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"> 
    <Grid> 
     <ListView Grid.Row="1" ItemsSource="{Binding Path=TranslationSource}"> 
      <ListView.View> 
       <GridView> 
        <GridView.Columns> 
         <GridViewColumn Header="Start time"/> 
         <GridViewColumn Header="End time"/> 
         <GridViewColumn Header="Duration"/> 
         <GridViewColumn Header="Original"/> 
         <GridViewColumn Header="Translation"/> 
        </GridView.Columns> 
       </GridView> 
      </ListView.View> 
     </ListView> 
    </Grid> 
</UserControl> 

這是我得到的錯誤:

不一致可訪問性:屬性類型'System.Collections.ObjectModel.ObservableCollection'比屬性'Subster.TranslationView.TranslationSource'更難以訪問。

這對我來說毫無意義,因爲我找到的所有例子都以類似的方式工作!我甚至沒有在項目的任何其他部分使用用戶控件。

任何幫助高度讚賞!

回答

4

很可能您的TransRowOrig對象不易於訪問,該類定義爲public class。所以我會讓TransRowOrig也是公開課

+0

這太簡單了...謝謝。 – 2010-01-19 18:22:04