博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Bind Enum to Combobox.SelectedIndex
阅读量:5079 次
发布时间:2019-06-12

本文共 1834 字,大约阅读时间需要 6 分钟。

原文:

Do you mean that you want to bind a variable (not a property) to ComboBox.SelectedIndex? If so, I think that the better method to do this is bind a property to ComboBox.SelectedItem. The following example shows how to bind a property to the ComboBox.SelectedItem. If you want to have more functionality from the binding, you should have the property is a dependency property.

 

Code Snippet

 

<
Window 
x:Class
="LearningSolution.MainWindow"
xmlns
="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x
="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:system
="clr-namespace:System;assembly=mscorlib"
xmlns:local
="clr-namespace:LearningSolution"
Name
="TheWindow"
>
<
Window
.Resources
>
<
ObjectDataProvider 
x:Key
="EnumValues"
MethodName
="GetValues"
ObjectType
="{x:Type system:Enum}"
>
<
ObjectDataProvider
.MethodParameters
>
<
x:Type 
TypeName
="local:LevelEnum"
 
/>
</
ObjectDataProvider.MethodParameters
>
</
ObjectDataProvider
>
<
DataTemplate 
x:Key
="EnumValueTemplate"
>
<
TextBlock 
Text
="{Binding}"
/>
</
DataTemplate
>
</
Window.Resources
>
<
StackPanel
>
<
ComboBox 
ItemsSource
="{Binding Source={StaticResource EnumValues}}"
ItemTemplate
="{StaticResource EnumValueTemplate}"
SelectedItem
="{Binding ElementName=TheWindow, Path=TheLevel, Mode=OneWayToSource}"
/>
<
Button 
Click
="Button_Click"
>
Watch
</
Button
>
</
StackPanel
>
</
Window
>
public partial class MainWindow : Window
{
public LevelEnum TheLevel { get; set; }
private void Button_Click(object sender, RoutedEventArgs e)
{
MessageBox.Show(this.TheLevel.ToString());
}
}
public enum LevelEnum { None = 0, First = 1, Second = 2, Third = 3 }
 

 

 

 

For more information about binding and dependency property, you could refer to the following links.

posted on
2018-07-11 01:18 阅读(
...) 评论(
...)

转载于:https://www.cnblogs.com/lonelyxmas/p/9292367.html

你可能感兴趣的文章
基本封装方法
查看>>
bcb ole拖拽功能的实现
查看>>
生活大爆炸之何为光速
查看>>
bzoj 2456: mode【瞎搞】
查看>>
[Typescript] Specify Exact Values with TypeScript’s Literal Types
查看>>
[GraphQL] Reuse Query Fields with GraphQL Fragments
查看>>
Illustrated C#学习笔记(一)
查看>>
理解oracle中连接和会话
查看>>
两种最常用的Sticky footer布局方式
查看>>
Scrapy实战篇(三)之爬取豆瓣电影短评
查看>>
HDU 5510 Bazinga KMP
查看>>
[13年迁移]Firefox下margin-top问题
查看>>
Zookeeper常用命令 (转)
查看>>
Java程序IP v6与IP v4的设置
查看>>
RUP(Rational Unified Process),统一软件开发过程
查看>>
数据库链路创建方法
查看>>
Enterprise Library - Data Access Application Block 6.0.1304
查看>>
重构代码 —— 函数即变量(Replace temp with Query)
查看>>
Bootstrap栅格学习
查看>>
程序员的数学
查看>>