首頁 >後端開發 >C++ >如何將枚舉綁定到 WPF ComboBox 控制項?

如何將枚舉綁定到 WPF ComboBox 控制項?

Linda Hamilton
Linda Hamilton原創
2025-01-05 19:16:41716瀏覽

How to Bind Enums to WPF ComboBox Controls?

將枚舉綁定到 WPF ComboBox 控制項

嘗試將枚舉值顯示為 ComboBox 中的項目時,直接從 DataContext 綁定可能不夠。為了解決這個問題,我們提出了兩種方法來解決這個問題:透過程式碼和 XAML 綁定。

基於程式碼的綁定

在Window 的Loaded 事件處理程序中,執行以下程式碼:

yourComboBox.ItemsSource = Enum.GetValues(typeof(EffectStyle)).Cast<EffectStyle>();

這將擷取枚舉值並將它們指派為組合框的項目

XAML 綁定

對於XAML綁定,請使用ObjectDataProvider:

<ComboBox ItemsSource="{Binding Source={StaticResource dataFromEnum}}"
                  SelectedItem="{Binding Path=CurrentEffectStyle}" />

在視窗的資源部分中,定義ObjectDataProvider:

<ObjectDataProvider x:Key="dataFromEnum" MethodName="GetValues"
                            ObjectType="{x:Type System:Enum}">
            <ObjectDataProvider.MethodParameters>
                <x:Type TypeName="StyleAlias:EffectStyle"/>
            </ObjectDataProvider.MethodParameters>
        </ObjectDataProvider>

記得申報必要的命名空間:

xmlns:System="clr-namespace:System;assembly=mscorlib"
xmlns:StyleAlias="clr-namespace:Motion.VideoEffects"

記得申報必要的命名空間:

這些方法提供了將枚舉綁定到WPF 中的ComboBox 控制項的簡單有效的方法。

以上是如何將枚舉綁定到 WPF ComboBox 控制項?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn