相关疑难解决方法(0)

Setter不在依赖属性上运行?

只是一个简短的问题,澄清一些疑问.当元素绑定到依赖项属性时,是否运行setter?

public string TextContent
{
    get { return (string)GetValue(TextContentProperty); }
    set { SetValue(TextContentProperty, value); Debug.WriteLine("Setting value of TextContent: " + value); }
}

public static readonly DependencyProperty TextContentProperty =
    DependencyProperty.Register("TextContent", typeof(string), typeof(MarkdownEditor), new UIPropertyMetadata(""));
Run Code Online (Sandbox Code Playgroud)

...

<TextBox Text="{Binding TextContent}" />
Run Code Online (Sandbox Code Playgroud)

正如我注意到我的setter中的下面没有运行

Debug.WriteLine("Setting value of TextContent: " + value);
Run Code Online (Sandbox Code Playgroud)

wpf setter dependency-properties

37
推荐指数
2
解决办法
1万
查看次数

拖动多个项目时,此视图不允许使用DataGrid"EditItem"

我有一个datagrid,它获取如下数据:

    public struct MyData
    {
        public string name { set; get; }
        public string artist { set; get; }
        public string location { set; get; }
    }

    DataGridTextColumn col1 = new DataGridTextColumn();
    col4.Binding = new Binding("name");
    dataGrid1.Columns.Add(col1);
    dataGrid1.Items.Add((new MyData() { name = "Song1", artist = "MyName", location =     "loc"}));
    dataGrid1.Items.Add((new MyData() { name = "Song2", artist = "MyName", location =     "loc2"}));
Run Code Online (Sandbox Code Playgroud)

问题是 - 每当用户尝试编辑单元格或拖动多个单元格时,应用程序都会抛出异常:

System.InvalidOperationException未处理
消息:此视图不允许使用'EditItem'.

为什么是这样?是因为输入数据的方式?
有任何想法吗?
谢谢!

wpf datagrid invalidoperationexception

7
推荐指数
2
解决办法
1万
查看次数

此视图不允许使用“EditItem” - 数据绑定问题

我正在尝试使用 cutom 列表在数据网格上的 WPF 中进行数据绑定。我的自定义列表类包含一个 List 类型的私有数据列表。我无法公开此列表,但是索引器已公开用于查看和获取单个项目。我的自定义类如下所示:

public abstract class TestElementList<T> : IEnumerable
        where T : class
{
    protected List<T> Data { get; set; }
    public virtual T Get(int index)
    {
        T item = Data[index];
        return item;
    }

    public virtual void Set(int index, T item)
    {
         Data[index] = item;
    }
...
}
Run Code Online (Sandbox Code Playgroud)

数据已绑定,但是当我尝试编辑它时,我得到“此视图不允许使用‘EditItem’。” 错误。在网络上进行广泛搜索时,我发现我可能还需要实现 IEditableCollectionView 接口。任何人都可以帮助我提供有关如何实现此接口的指示,或者建议任何其他更好的方法来在自定义列表上进行数据绑定。

提前致谢。

data-binding wpf ieditablecollectionview

5
推荐指数
1
解决办法
1万
查看次数

WPF datagrid"此视图不允许使用EditItem"异常

我以编程方式添加DataGrid:

System.Windows.Controls.DataGrid dataGrid = new System.Windows.Controls.DataGrid();
dataGrid.GridLinesVisibility = DataGridGridLinesVisibility.None;
dataGrid.HorizontalScrollBarVisibility = ScrollBarVisibility.Hidden;
dataGrid.Background = Brushes.White;
DataGridTextColumn textColumn = new DataGridTextColumn();
textColumn.Width = 250;
textColumn.Header = "Account";
textColumn.Binding = new Binding("Account");
dataGrid.Columns.Add(textColumn);
Run Code Online (Sandbox Code Playgroud)

当我添加项目时:

Globals_Liker.list_datagrid [tabControl1.SelectedIndex] .Items.Add(Globals_Liker.list_item [tabControl1.SelectedIndex] [I]);

但如果我双击项目我有错误:

此视图不允许使用"EditItem".

如何使该错误不会弹出?

.net c# wpf datagrid

3
推荐指数
1
解决办法
9658
查看次数