我是靠谱客的博主 娇气小鸭子,最近开发中收集的这篇文章主要介绍checkbox wpf 绑定数组,WPF复选框绑定,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

While it is trivial to store a checkbox's checked state in a variable using the checkbox's Click event, how would I do it via databinding? All the examples I have found have the UI updated from some datasource, or bind one control to another; I want to update a member variable when the checkbox is clicked.

TIA for any pointers...

解决方案

You need a dependency property for this:

public BindingList Users

{

get { return (BindingList)GetValue(UsersProperty); }

set { SetValue(UsersProperty, value); }

}

public static readonly DependencyProperty UsersProperty =

DependencyProperty.Register("Users", typeof(BindingList),

typeof(OptionsDialog));

Once that is done, you bind the checkbox to the dependency property:

For that to work you have to name your Window or UserControl in its openning tag, and use that name in the ElementName parameter.

With this code, whenever you change the property on the code side, you will change the textbox. Also, whenever you check/uncheck the textbox, the Dependency Property will change too.

EDIT:

An easy way to create a dependency property is typing the snippet propdp, which will give you the general code for Dependency Properties.

All the code:

XAML:

xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"

xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"

Title="Window1" x:Name="window1" Height="300" Width="300">

IsChecked="{Binding ElementName=window1, Path=IsCheckBoxChecked}"

>Bound CheckBox

ContentStringFormat="Is checkbox checked? {0}">

C#:

using System.Windows;

namespace StackOverflowTests

{

///

/// Interaction logic for Window1.xaml

///

public partial class Window1 : Window

{

public bool IsCheckBoxChecked

{

get { return (bool)GetValue(IsCheckBoxCheckedProperty); }

set { SetValue(IsCheckBoxCheckedProperty, value); }

}

// Using a DependencyProperty as the backing store for

//IsCheckBoxChecked. This enables animation, styling, binding, etc...

public static readonly DependencyProperty IsCheckBoxCheckedProperty =

DependencyProperty.Register("IsCheckBoxChecked", typeof(bool),

typeof(Window1), new UIPropertyMetadata(false));

public Window1()

{

InitializeComponent();

}

}

}

Notice how the only code behind is the Dependency Property. Both the label and the checkbox are bound to it. If the checkbox changes, the label changes too.

最后

以上就是娇气小鸭子为你收集整理的checkbox wpf 绑定数组,WPF复选框绑定的全部内容,希望文章能够帮你解决checkbox wpf 绑定数组,WPF复选框绑定所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(60)

评论列表共有 0 条评论

立即
投稿
返回
顶部