`

WPF自定义列中按钮的IsEnabled属性根据列中的值的不同动态赋值

    博客分类:
  • WPF
WPF 
阅读更多
1.创建转换类,0为已读,让“阅”按钮不可用,即返回False
public class ReadOrNoReadConverter : IValueConverter
    {
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            int readStatus = value.ToString();
            if (readStatus==0)
            {
                return false;
            }
            else
            {
                return true;
            }
        }

        public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            string strValue = value.ToString();
            //DateTime resultDateTime;
            //if (DateTime.TryParse(strValue, out resultDateTime))
            //{
            //    return resultDateTime;
            //}
            return value;
        }
    }


2.WPF中在模板列写如下代码,IsEnabled的属性值是根据readStatus字段经过ReadOrNoReadConverter转换器的转换生成的,所以到底生成true还是false要在转换器类中定义逻辑规则
<DataGridTemplateColumn>
        <DataGridTemplateColumn.CellTemplate>
                <DataTemplate>
                     <Button Content="阅" IsEnabled="{Binding Path=readStaus,Converter={StaticResource ReadOrNoReadConverter}}"></Button>
                 </DataTemplate>
         </DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>


3.最后引入命名空间
<UserControl x:Class="BankLogix.ForexStar.WinFXManager.Components.wpf.OpenPositions"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006" 
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008" 
             xmlns:dataPrimitives="clr-namespace:System.Windows.Controls.Primitives;assembly=PresentationFramework" 
             xmlns:data="clr-namespace:System.Windows.Controls;assembly=PresentationFramework" 
            xmlns:VM="clr-namespace:BankLogix.ForexStar.WinFXManager.Components.wpf.Converter"

声明转换器
<UserControl.Resources>
        <VM:ReadOrNoReadConverter x:Key="ReadOrNoReadConverter"/>
</UserControl.Resources>
1
3
分享到:
评论

相关推荐

    WPF自定义控件(按钮文本框组合框等等)

    下面将详细讲解如何在WPF中自定义按钮、文本框、组合框以及日期控件。 1. 自定义按钮: - 基础:自定义按钮通常基于`Button`类,通过重写模板(ControlTemplate)改变其外观。首先,我们需要在XAML中定义一个资源...

    好看的WPF自定义按钮样式(绝对不亏)

    在本文中,我们将深入探讨如何在Windows Presentation Foundation (WPF) 中创建美观且自定义的按钮样式。WPF是微软提供的一个强大的用户界面框架,它允许开发者通过丰富的图形和动画来构建应用程序。自定义控件样式...

    WPF自定义图片按钮[ImageButtonWPF]

    WPF自定义图片按钮[ImageButtonWPF] 更多资源: http://cleopard.download.csdn.net

    WPF自定义圆形按钮控件

    本教程将深入探讨如何在WPF中创建一个自定义的圆形按钮控件。首先,我们需要理解WPF的基础概念。 **WPF概述** WPF,全称为Windows Presentation Foundation,是.NET Framework的一部分,它提供了构建桌面应用程序的...

    WPF 自定义对话框 超级完美版

    在Windows Presentation Foundation(WPF)中,自定义对话框是一种常见的需求,因为它允许开发者根据应用程序的风格和功能来个性化交互体验。"WPF 自定义对话框 超级完美版"是一个解决方案,提供了预设的对话框样式...

    Wpf自定义控件ToggleSwitch

    在Windows Presentation Foundation (WPF) 中,自定义控件能够帮助开发者实现独特的用户界面和交互体验。本项目“WpfToggleSwitch”就是这样一个例子,它是一个从国外开源网站获取的优秀自定义控件,用于创建类似iOS...

    带关闭按钮可自定义样式的wpf tabcontrol控件

    这个特定的“带关闭按钮可自定义样式的wpf tabcontrol控件”提供了更高级的功能和定制化选项,使得开发者能够根据项目需求创建出更符合用户交互习惯的界面。 首先,让我们详细了解一下TabControlItem的基本概念。...

    WPF中自定义复杂DataGrid列样式

    WPF中DataGrid控件有时需要在一列中显示多个字段数据,并实现一定的排版,本示例即为解决此类问题提供参考。

    WPF自定义控件 自定义依赖属性Demo

    VB.NET做的一个WPF的Demo,做了个控件。像是Windows图标一样.图片加文字,移动到图片上,图片会放大。这个demo也说明了如何建立一个自定义的属性,并把UserControl中的控件属性绑定到自己定义的属性中。

    WPF自定义按钮

    本教程将详细介绍如何在WPF中更换按钮背景并实现四种不同样式的按钮。 首先,我们从基础开始。在WPF中,按钮(Button)是一个内置的控件,其默认样式可以在`Generic.xaml`文件中找到。为了自定义按钮,我们需要创建...

    WPF自定义表格控件

    此外,我们还可以设置列的`IsReadOnly`属性来控制哪些列可编辑,哪些不可。 与外部`DataTable`数据交互通常是通过设置控件的`DataContext`实现的。在`TableControl.xaml.cs`的构造函数或`InitializeComponent()`...

    WPF自定义软键盘

    WPF自定义软键盘的特点是其灵活性和可定制性,开发者可以根据自己的需求调整键盘布局、样式和功能。 在WPF中实现自定义软键盘,主要涉及以下几个关键知识点: 1. **XAML**:XAML是WPF的核心部分,用于声明式地定义...

    WPF自定义VirtualizingPanel,实现界面动态布局

    在Windows Presentation Foundation (WPF) 中,`VirtualizingPanel` 是一个非常重要的抽象类,它为数据虚拟化提供了基础,特别是在处理大量数据时,能够显著提高应用程序的性能。`VirtualizingPanel` 是 `Panel` 类...

    WPF自定义时间控件,可选择日期、时间

    在Windows Presentation Foundation (WPF) 中,开发人员经常需要创建自定义控件以满足特定的用户界面需求。本文将深入探讨如何使用C#语言在WPF中构建一个自定义的时间选择控件,该控件允许用户同时选择日期和时间。...

    WPF 自定义CheckBox样式

    在Windows Presentation Foundation(WPF)中,用户界面的美观性和个性化是吸引用户的重要因素之一。本文将深入探讨如何利用字体图标来自定义CheckBox控件,从而提升应用的视觉效果。 首先,我们需要理解WPF中的...

    WPF自定义的NumericUpDown控件

    这个自定义的WPF NumericUpDown控件提供了一种灵活的方式来实现这样的功能,同时也允许开发者进行自定义以适应不同的应用需求。 首先,我们来详细了解一下WPF中的NumericUpDown控件的基本概念和功能: 1. **基本...

    C# wpf 自定义替换系统的MessageBox

    《C# wpf 实现自定义界面操作分离的MessageBox》中我们得到了一个功能完整的MessageBox的功能逻辑,将功能逻辑进行拓展,程序启动的时候,hook系统的MessageBox,变成调用自己的MessageBox。那我们只需要定义一个...

    wpf 自定义 封装的控件

    依赖属性(DependencyProperty)提供了一种机制,使得属性值可以在不同对象之间同步,并支持数据绑定和动画。 5. **事件处理**: - 控件的事件处理允许响应用户的操作。自定义控件可以通过重写`OnSomeEvent`方法或...

    wpf 自定义ComBoBox带DataGrid

    在WPF(Windows Presentation Foundation)开发中,自定义控件是一项常见的需求,以满足特定的界面展示和交互逻辑。本项目“wpf 自定义ComBoBox带DataGrid”旨在实现一个具有组合框(ComboBox)与数据网格(DataGrid...

    WPF自定义控件实现“环形进度条”数值可绑定

    依赖属性是WPF中的一个重要概念,它们使得我们可以轻松地在XAML中声明和绑定控件的属性值。例如,`ProgressValue`属性可以表示当前进度,`MaxValue`表示最大进度,`StrokeThickness`设定边框的宽度,而`FillColor`则...

Global site tag (gtag.js) - Google Analytics