首页 > 其他分享 >wpf DataGrid 内容绑定动态资源方法

wpf DataGrid 内容绑定动态资源方法

时间:2024-12-28 19:19:27浏览次数:6  
标签:object return UseRoleCode 绑定 Visibility DataGrid wpf parameter

  先讲故事:系统需要区分语言环境,有中文环境与英文环境。然后有一列用户角色列,用户分为管理员(admin)与普通用户(users)。

假设管理员用户角色ID为1,普通用户为2.用户角色编码字段名:UseRoleCode。

当数据加到到DataGrid  之后,这是切换语言,需要根据当前的语言 显示中文或者英文,再不遍历数据的情况下如何实现呢?

<DataGrid>

<DataGridTemplateColumn Width="Auto" >
<DataGridTemplateColumn.Header>
<TextBlock Text="{DynamicResource UserRole}" />
</DataGridTemplateColumn.Header>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{DynamicResource admin}"
Visibility="{Binding UseRoleCode,Converter={StaticResource 转换器},ConverterParameter=1}">
</TextBlock>
<TextBlock Text="{DynamicResource CommonUser}"
Visibility="{Binding UseRoleCode,Converter={StaticResource 转换器},ConverterParameter=2}">
</TextBlock>
<!--如果还有其他用户类型继续往下写-->
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid>
转换器代码
public object Convert(object value, Type targetType, object parameter, CultureInfo culture)
{
if (value == null || parameter == null)
{
return Visibility.Collapsed;
}
else
{
if (value?.ToString() == parameter?.ToString())
{
return Visibility.Visible;
}
else
{
return Visibility.Collapsed;
}
}
}

资源字典部分:

<system:String x:Key="UserRole">用户角色</system:String>

<system:String x:Key="admin">管理员</system:String>

<system:String x:Key="CommonUser">普通用户</system:String>

标签:object,return,UseRoleCode,绑定,Visibility,DataGrid,wpf,parameter
From: https://www.cnblogs.com/530263009QQ/p/18637838

相关文章

  • WPF Viewport3D Model3DGroup GeometryModel3D ModelVisual3D PerspectiveCamera Dir
     Vector3DCollectionPoint3DCollectionPointCollectionInt32CollectionLinearGradientBrushDiffuseMaterial  RotateTransform3DAxisAngleRotation3D usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Threadi......
  • WPF DrawingImage DrawingGroup Geometry in 2D acted as 3D
    <Windowx:Class="WpfApp102.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft......
  • 【WPF】INotifyCollectionChanged 、INotifyPropertyChanged 以及实现了二者的Observa
    INotifyCollectionChanged在WPF中,INotifyCollectionChanged是一个接口,用于实现集合(如列表)变化时通知UI更新的机制。这个接口特别常用于数据绑定中,尤其是当集合的内容发生变化时,WPF能够自动更新绑定的UI组件。1.接口概述INotifyCollectionChanged是.NET中System.Collectio......
  • Vue中动态样式绑定+CSS变量实现切换明暗主题功能——从入门到进阶
    1.直接借助Vue的动态绑定样式绑定Vue动态样式绑定在Vue中,动态样式绑定是一种强大的功能,它允许开发者根据数据的变化动态地更新元素的样式。以下是对Vue动态样式绑定的详细知识梳理与详解:一、基础知识Vue的动态样式绑定主要通过v-bind:style(或简写为:style)指令来实现。通......
  • 使用原生js实现一个双向绑定的方法
    在前端开发中,双向数据绑定是一个常见的需求,它使得数据和视图之间能够自动同步。Vue.js和Angular等框架都提供了双向数据绑定的功能。然而,如果你想使用原生JavaScript来实现一个简单的双向数据绑定,以下是一个示例:<!DOCTYPEhtml><htmllang="en"><head><metacharset=......
  • WPF ComboBox multiselect via ControlTemplate of ComboxItem
    <Windowx:Class="WpfApp99.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.......
  • WPF DatagridRow style with ControlTemplate
    <Windowx:Class="WpfApp100.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft......
  • 【WPF】WPF 双向绑定中的 SelectedItem 与 ViewModel 属性更新机制详解
     在WPF开发中,ListBox等控件常用于显示绑定的数据集合,其中ItemsSource绑定的数据源,在没有显式设置 Mode 属性时,默认为单向绑定,它将数据源集合的内容传递给 ListBox,但不会反向更新数据源。而SelectedItem ,默认情况下它的绑定是双向的。这意味着当用户在 ListBox 中......
  • WPF Combobox屏蔽按上下键切换选项
    最近在项目中有一个需求是Combobox可以进行编辑,类似于多行文本框一样进行编辑,在编辑的过程中可能需要上下键切换当前的行,但是combobox的上下键对应了切换选项,所以需要屏蔽combobox的上下键切换功能,并且加上文本框换行的功能combobox自身的previewkeydown事件是无法捕获到上下键的......
  • 如何解决LNMP/LNMPA/LAMP环境下绑定域名时出现的跨目录文件访问限制错误?
    一、理解open_basedir的作用首先,需要明确的是,open_basedir是PHP中的一项重要安全特性,它用于限制PHP脚本只能访问指定目录内的文件,从而防止恶意代码执行时访问不应该触及的敏感区域。然而,在某些特定场景下(如您提到的绑定域名时),确实存在合法需求去访问非默认路径下的文件。因此,解决......