1

実行時にとを作成し、TextBox実行TextBlock時にデータベースフィールドにバインドします。コードは以下のとおりです。

LstConfigFields = dbContext.ConfigFields.Where(c => c.ConfigId == this.Uid).ToList();
foreach (ConfigField rec in LstConfigFields)
{
    TextBlock TBlock = new TextBlock();
    TBlock.Text = rec.TextBlockText;

    TextBox TBox = new TextBox();                
    TBox.SetBinding(TextBox.TextProperty,new Binding(rec.DatabaseField));

    if ((bool)rec.IsVisible)
    {
        stackPanel1.Children.Add(TBlock);
        stackPanel1.Children.Add(TBox);
    }
}

しかし、私はこのメッセージを受け取っています:

双方向バインディングには、PathまたはXPathが必要です。

どこが間違っているのですか?

4

2 に答える 2

2

DatabaseFieldが読み取り専用の場合は、OneWayBindingを使用する必要があります。

于 2012-08-28T10:29:05.293 に答える
1

バインドされたオブジェクトのTextプロパティに構文に固有のシンボルが含まれている場合XPath、動的バインディングはそれらを解釈しようとするため、間違ったバインディングが作成されてプロセス全体が失敗します。

于 2013-04-02T04:26:28.827 に答える