我有一個包含用戶名文本框和密碼框的登錄表單。使用MultiBinding綁定元素
我希望僅當兩個字段都包含值時才能啓用ok按鈕。
我有一個轉換器,檢查所有的字符串,如果他們爲空或空。
我在Convert方法的第一行放置了一個斷點,並且它僅在MenuItem
初始化後綴時停止,即,當我改變它沒有的文本時。
以下示例運行良好,問題在於當我更改文本時未觸發多重綁定;它只是綁定初始化表單時:
<!--The following is placed in the OK button-->
<Button.IsEnabled>
<MultiBinding Converter="{StaticResource TrueForAllConverter}">
<Binding ElementName="tbUserName" Path="Text"/>
<Binding ElementName="tbPassword" Path="Password"/>
</MultiBinding>
</Button.IsEnabled>
我認爲這個問題是你當遠程綁定源改變不會得到通知(例如沒有在那裏設置UpdateTargetTrigger="PropertyChanged"
選項
所有。想法?
您可以爲您的tbUserName和tbPassword控件以及TrueForAllConverter資源的聲明添加XAML嗎? – 2009-09-30 05:13:25
我認爲傑瑞在正確的軌道上。您需要將UpdateSourceTrigger屬性添加到TextBox上的綁定中,以便MultiBinding在它們更改時得到通知,而不僅僅在焦點離開控件時纔會收到通知。 – 2009-09-30 05:25:15
我不會迴應,如果我不會雷伊,並看到它不起作用。關於TrueForAllConverter的 我在Convert方法的頂部放置了一個斷點,它僅在MenuItem初始化時停止,所以我們不關心轉換器中的內容,我們擔心它應該首先嚐試觸及它。 如果你真的好奇轉換器告訴我什麼,我會發布它,即使我認爲它的地方不在這裏。 – Shimmy 2009-09-30 07:11:26