wpf开发笔记

在wpf的datagrid中使用<DataTemplate> 标签来放一列button,出现了无法绑定command的问题
简单的Command=”{Binding AddCommand}”不行
下面是解决办法

 <DataGridTemplateColumn Header="opt"  Width="120" MaxWidth="120" CanUserReorder="False">
                    <DataGridTemplateColumn.CellTemplate>
                        <DataTemplate>
                            <Button Content="buy"  Command="{Binding DataContext.AddCommand,RelativeSource={RelativeSource AncestorType=DataGrid}}" Click="buy_click"   >
                            </Button>
                        </DataTemplate>
                    </DataGridTemplateColumn.CellTemplate>
                </DataGridTemplateColumn>

关键在于

Command="{Binding DataContext.AddCommand,RelativeSource={RelativeSource AncestorType=DataGrid}}"

此外,有时我们需要多个viewModel,解决怎么把不同的xaml文件和ViewModel绑定起来花了不少时间

下面是解决方案

<Window 
.............
        xmlns:VM="clr-namespace:Citi.Training.WPF.ViewModel"

  .................
    <Window.DataContext>
        <VM:MyBondsWindowViewModel />
    </Window.DataContext>
    ..............
    <Grid>
        .................
    </Grid>

namespace要换成viewModel所在的namespace

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
WPF(Windows Presentation Foundation)是一种用于创建现代用户界面(UI)的技术框架,而Visio则是一种流程图、图表和矢量绘图的应用软件。下面将从WPF开发Visio的角度来回答这个问题。 在WPF开发Visio,可以通过使用WPF的强大功能和灵活性来创建更加现代和交互式的Visio用户界面。首先,WPF提供了一种基于XAML(可扩展应用程序标记语言)的界面设计语言,使开发者能够轻松创建和布局UI元素,包括按钮、文本框、图像等等。通过使用XAML,可以实现对Visio界面进行自定义和样式化,以满足不同用户需求。 其次,WPF支持数据绑定功能,这对于Visio的开发非常有用。数据绑定可以将数据源与Visio界面元素进行关联,实现数据的自动更新和同步。例如,可以将Visio的形状和属性与后台数据模型进行绑定,使得当数据发生变化时,Visio界面能够实时更新。 此外,WPF还提供了丰富的可视化效果和动画功能,可以应用于Visio的用户交互中,从而提升用户体验。通过WPF的动画功能,可以实现形状变换、渐变色和平滑的过渡效果,使Visio的操作更加生动和流畅。 最后,WPF还支持触摸和手势操作,这对于Visio在触摸屏设备上运行非常重要。开发者可以利用WPF的触摸事件和手势识别功能,实现在Visio中通过手指进行绘图、移动和缩放等操作。 综上所述,通过使用WPF开发Visio,可以获得更加现代化、交互式和具有吸引力的用户界面。WPF的丰富功能和灵活性为Visio的开发提供了更多的可能性,使得Visio能够更好地满足用户的需求并提供更好的用户体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值