我一直在試圖創建我的通用ReadOnlyCheckBox風格/模板,但我遇到了與數據綁定的問題。在這裏的例子:ReadOnlyCheckBox ControlTemplate
A read-only CheckBox in C# WPF
你直接綁定到從控件模板定義中的數據,但當然這不是我真正想要的東西,我希望能夠宣佈新的複選框是這樣的:
<CheckBox x:Name="uiComboBox" Content="Does not set the backing property, but responds to it."
Style="{StaticResource ReadOnlyCheckBoxStyle}" IsChecked="{Binding MyBoolean}" Click="uiComboBox_Click"/>
當然除了當我這樣做,然後設置上子彈的事件觸發是的器isChecked一個TemplateBinding我也正是我開始!我想我不明白爲什麼在項目符號中直接設置綁定與設置IsChecked然後綁定到該項目不同,TemplateBinding不僅僅是引用正在創建的控件的屬性中設置的方法嗎?即使數據沒有得到更新,Click如何觸發UI更新?是否有觸發點擊我可以重寫停止更新?
我得到的所有DictionaryResource的東西工作正常,所以我很高興與指針的歡呼聲。
我很好奇的另一件事是,如果可以通過在樣式中使用BasedOn參數來減少我的Control/Style模板,那麼我只會覆蓋我實際需要更改的事情,而不是聲明很多無論如何,我認爲它是標準模板的一部分。我可能會玩這個。
乾杯
版
嗨Micahtan, 感謝您的回覆,我很抱歉,花了我很長時間纔回到你身邊,但我轉到了需要完成的緊急項目上。 雖然你的答案可以肯定的工作,但它不覺得我優雅,因爲複選框檢查自己,然後當處理選中的事件時,我們將其設置回來,如果你點擊時看到按鈕,你會看到檢查出現然後消失再次。 理想情況下,我希望能夠編輯模板以禁用點擊發生時的檢查,因此只有在設置它時發生,或者綁定變量需要一個新值。 歡呼 版在此線程 – EdWaugh 2009-07-06 18:14:06
你好的人,我通過基於按鈕創建一個自定義控制解決我的問題,在這裏看到: http://stackoverflow.com/questions/1088906/adding-a-custom-dependency- property-to-a-control-template-in-xaml ed – EdWaugh 2009-07-16 07:26:03