簡體   English   中英

WPF DataGrid無法從ItemsSource綁定

[英]WPF DataGrid Unable to bind from ItemsSource

我已經看了幾個小時了,但是我無法弄清楚...我已經成功地將“問題”綁定到ItemsSource。 Questions是一個包含QuestionVM對象的ObservableCollection。

由於某些原因,帶有“問題”標題的文本列不能綁定到“問題”中的“問題”屬性。

    <DataGrid ItemsSource="{Binding Questions}" AutoGenerateColumns="False" SelectedItem="{Binding SelectedQuestion, Mode=TwoWay}">
        <DataGrid.Columns>
            <DataGridTextColumn Header="Question" Binding="{Binding Question}" Width="*"/>
            <DataGridTemplateColumn Width="100">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button Content="Delete"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>

            <DataGridTemplateColumn Width="100">
                <DataGridTemplateColumn.CellTemplate>
                    <DataTemplate>
                        <Button Content="Edit"/>
                    </DataTemplate>
                </DataGridTemplateColumn.CellTemplate>
            </DataGridTemplateColumn>
        </DataGrid.Columns>
    </DataGrid>

這是帶有屬性的QuestionVM類的一部分。

public class QuestionVM
{
    private Question _question;
    public string Question { get { return _question.Question1; } set { _question.Question1 = value; } }
    public string Category { get { return _question.Category; } set { _question.Category = value; } }
    public ObservableCollection<AnswerVM> Answers { get; set; }
}

我應該能夠綁定Question屬性嗎? 為什么我不能這樣做?

編輯:Intellisense僅顯示主數據上下文的屬性,而不顯示Questions ObservableCollection內部的單個QuestionVM的屬性。

        DataContext="{Binding ExistingQuestions, Source={StaticResource Locator}}

ExistingQuestions包含屬性Questions,SelectedQuestion和AddQuestion。 這些是Intellisense所顯示的。

圖片進一步說明:

試圖綁定..

如您所見,這些不是QuestionVM的屬性,而是主要數據上下文。 它不想從我設置為ItemsSource的ObservableCollection中選擇屬性。

主數據上下文的屬性。

我試圖綁定在QuestionVM內部的此屬性。

更新的答案

如果對象未出現在Intellisense中,則可能是由於創建對象的名稱空間所致。 確保在同一名稱空間中聲明對象,或嘗試將對象Question的名稱空間添加到視圖中。

向視圖添加名稱空間的示例

xmlns:helper="clr-namespace:Mynamespace.Myclass"

此外,似乎該視圖模型還沒有實現INotifyPropertyChanged接口,該接口用於在綁定屬性更新時通知控件的視圖。

Cordialement

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM