我很困惑。我正在尝试创建一个名为TranslationView
的用户控件。它几乎完全由一个ListView
组成。我现在不认为这很重要,因为我甚至无法编译我的代码隐藏。
这是用户控件的代码隐藏:
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'。
对我来说根本没有意义,因为我发现的所有例子都以类似的方式工作!我甚至没有在项目的任何其他部分使用用户控件。
任何帮助都非常感谢!
答案 0 :(得分:4)
您的TransRowOrig
对象很可能无法访问此类,该类定义为public class
。所以我会让TransRowOrig
也成为一个公共类