Простая привязка WPF не работает - PullRequest
0 голосов
/ 09 ноября 2010
private void BindFields()
{
    m_QuantityBinding = new Binding("Quantity");
    m_QuantityBinding.Source = m_LotData;

    txtBoxQuantity.SetBinding(TextBox.TextProperty, m_QuantityBinding);
}

private void LoadLotData()
{
    m_PrioInterface = new PriorityInterface.PriorityInterface();

    m_LotData = m_PrioInterface.GetLotInfo(txtSysLotNo.Text);

    m_QuantityBinding = new Binding("Quantity");
    m_QuantityBinding.Source = m_LotData;

    txtBoxQuantity.SetBinding(TextBox.TextProperty, m_QuantityBinding);
}

вышеупомянутая привязка работает, только если я повторяю привязку после каждого вызова GetLotInfo ... почему я не могу просто установить привязку в начале приложения, используя BindFields?Я подозреваю, что причина в том, что GetLotInfo каждый раз возвращает новый объект ... Могу ли я получить его, чтобы связать только один раз?

1 Ответ

0 голосов
/ 09 ноября 2010

Когда вы присваиваете свойство .Source вашего экземпляра Binding

m_QuantityBinding.Source = m_LotData; 

привязка привязана к конкретному экземпляру, который был сохранен в то время в вашем поле m_LotData. В случае, если вы назначаете новый экземпляр для m_LotData, что вы делаете здесь:

m_LotData = m_PrioInterface.GetLotInfo(txtSysLotNo.Text);

m_QuantityBinding не узнает, если вы не установите .Source заново.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...