国产精品高清免费在线视频-亚洲精品午夜福利一区-91成人精品国产免费男男-噼里啪啦日本一区二区

上海啟嘟渡科技商貿(mào)有限公司
SEARCH

與我們合作

我們專(zhuān)注提供互聯(lián)網(wǎng)一站式服務(wù),助力企業(yè)品牌宣傳多平臺(tái)多途徑導(dǎo)流量。
主營(yíng)業(yè)務(wù):網(wǎng)站建設(shè)、移動(dòng)端微信小程序開(kāi)發(fā)、營(yíng)銷(xiāo)推廣、基礎(chǔ)網(wǎng)絡(luò)、品牌形象策劃等

您也可通過(guò)下列途徑與我們?nèi)〉寐?lián)系:

微 信: wxyunyingzhe

手 機(jī): 15624122141

郵 箱:

在WPF TreeView中使用Checkbox

更新時(shí)間:2025-01-11 06:52:36

每個(gè)項(xiàng)目都綁定到一個(gè) ViewModel 對(duì)象。ViewModel 對(duì)象的檢查狀態(tài)變化會(huì)觸發(fā)父項(xiàng)和子項(xiàng)的檢查狀態(tài)更新。文章還介紹了如何使用附加行為將 TreeViewItem 轉(zhuǎn)換為虛擬 ToggleButton,從而簡(jiǎn)化 TreeView 的鍵盤(pán)交互。

雖然 WPF TreeView 控件本身不提供顯示復(fù)選框的內(nèi)在支持,但我們可以通過(guò)綁定表達(dá)式和屬性來(lái)實(shí)現(xiàn)。每個(gè) TreeViewItem 都包含一個(gè) TreeView,通過(guò)向其屬性添加表達(dá)式,我們可以將復(fù)選框的檢查狀態(tài)綁定到底層數(shù)據(jù)對(duì)象的屬性。WPF 的數(shù)據(jù)綁定功能使得這一過(guò)程變得簡(jiǎn)單。

以下是演示應(yīng)用程序的屏幕截圖:

接下來(lái),我們來(lái)看看具體的功能需求:

要求 1:樹(shù)中的每個(gè)項(xiàng)目都必須顯示一個(gè)復(fù)選框,并顯示底層數(shù)據(jù)對(duì)象的文本和檢查狀態(tài)。

要求 2:當(dāng)一個(gè)項(xiàng)目被選中或取消選中時(shí),其所有子項(xiàng)目也應(yīng)相應(yīng)地被選中或取消選中。

要求 3:如果一個(gè)項(xiàng)目的后代并非都具有相同的檢查狀態(tài),則該項(xiàng)目的檢查狀態(tài)應(yīng)為“不確定”。

要求 4:從一個(gè)項(xiàng)目導(dǎo)航到另一個(gè)項(xiàng)目只需按一次箭頭鍵。

要求 5:按空格鍵或 Enter 鍵可切換所選項(xiàng)目的檢查狀態(tài)。

要求 6:?jiǎn)螕繇?xiàng)目的復(fù)選框可切換其檢查狀態(tài),但不會(huì)選擇項(xiàng)目。

要求 7:?jiǎn)螕繇?xiàng)目的顯示文本可選擇項(xiàng)目,但不會(huì)切換其檢查狀態(tài)。

要求 8:默認(rèn)情況下,樹(shù)中的所有項(xiàng)目都應(yīng)展開(kāi)。

建議將以上要求復(fù)制并粘貼到您喜歡的文本編輯器中,以便在后續(xù)內(nèi)容中按編號(hào)引用。

TreeView 通常與 ViewModel 結(jié)合使用。文章展示了如何使用 ViewModel 封裝與樹(shù)中項(xiàng)目檢查狀態(tài)相關(guān)的特定邏輯。

ViewModel 類(lèi)中最有趣的是 IsChecked 屬性背后的邏輯,它滿足了前面提到的要求 2 和 3。

如果您有不同規(guī)則來(lái)決定項(xiàng)目何時(shí)更新其檢查狀態(tài),只需調(diào)整這些方法中的邏輯即可。

TreeView 配置:

接下來(lái),我們看看如何在 XAML 中配置 TreeView 以顯示復(fù)選框并綁定到 ViewModel。聲明非常簡(jiǎn)單,如下所示:

屬性隱式綁定到 TreeView,其 ItemsSource 數(shù)據(jù)上下文包含一個(gè) ViewModel 對(duì)象,但必須將其放入集合中,因?yàn)樗?IEnumerable 類(lèi)型。

TreeViewItem 的 ItemTemplate 屬性被分配以下內(nèi)容,用于構(gòu)建樹(shù)的模板:

模板包括一個(gè)復(fù)選框,其 Focusable 屬性被設(shè)置為 false,以防止復(fù)選框接收輸入焦點(diǎn)。這可能讓人疑惑,如果沒(méi)有焦點(diǎn),如何將行為附加到復(fù)選框上。

當(dāng) TreeViewItem 觸發(fā)其 KeyDown 事件時(shí),以下邏輯將被執(zhí)行:

多重隨機(jī)標(biāo)簽

猜你喜歡文章

QQ客服 電話咨詢(xún)
大香伊蕉欧美一区二区三区| 国产精品香蕉在线的人| 蜜桃传媒视频麻豆第一区| 日本人妻的诱惑在线观看| 欧美av人人妻av人人爽蜜桃 | 中国日韩一级黄色大片| 欧美日韩人妻中文一区二区| 午夜小视频成人免费看| 国产免费黄片一区二区| 精品久久少妇激情视频| 国产成人精品视频一二区| 国内外免费在线激情视频| 午夜精品福利视频观看| 亚洲欧美日产综合在线网| 国产精品视频久久一区| 中文字幕一区久久综合| 成人午夜免费观看视频| 人妻偷人精品一区二区三区不卡 | 久久精品国产亚洲av久按摩| 中文字幕日韩欧美一区| 欧美整片精品日韩综合| 亚洲专区一区中文字幕| 日韩三级黄色大片免费观看| 熟妇人妻av中文字幕老熟妇| 少妇一区二区三区精品| 欧美加勒比一区二区三区| 激情少妇一区二区三区| 亚洲精品国产精品日韩| 黄色日韩欧美在线观看| 色婷婷人妻av毛片一区二区三区 | 日本特黄特色大片免费观看| 久久女同精品一区二区| 亚洲国产精品肉丝袜久久| 欧美日韩国内一区二区| 亚洲国产成人精品福利| 污污黄黄的成年亚洲毛片| 91精品蜜臀一区二区三区| 中文字幕人妻一区二区免费| 国产欧美日产久久婷婷| 日韩精品综合福利在线观看| 两性色午夜天堂免费视频|