c# - UWP ButtonColumn MvvmLight / Telerik / WindowsTemplate Studio
问题描述
我正在尝试将 ButtonColumn 添加到由 Windows Template Studio 生成的 TelerikDataGrid 中,没有 CodeBehind。我想,在一个完美的世界里,它会像这样工作。
<tg:DataGridTemplateColumn x:Uid="Table_Open" >
<tg:DataGridTemplateColumn.CellContentTemplate >
<DataTemplate>
<Button x:Uid="Button_Open" Command="{x:Bind ViewModel.OpenCustomerCommand}"></Button>
</DataTemplate>
</tg:DataGridTemplateColumn.CellContentTemplate>
</tg:DataGridTemplateColumn>
这不起作用,现在我尝试了很多机会,但从未达到 ViewModel。我知道在 WPF 中它可以使用
RelativeSource={RelativeSource AncestorType={x:Type UserControl},
但我没有在我的 UWP 案例中复制它。
解决方案
恐怕你不能使用 x:bind 来绑定OpenCustomerCommand
,DataTemplate
一般来说,如果我们想绑定视图模型,OpenCustomerCommand
我们需要将当前页面设置DataContext
为,ViewModel
然后使用绑定标记扩展来绑定,如下所示。
<Button HorizontalAlignment="Right"
Margin="0,0,30,0"
Content="Favorite"
Command="{Binding ElementName=RootGrid,Path=DataContext.OpenCustomerCommand }"
/>
这是您可以参考的类似情况。
推荐阅读
- r - R:如何在 ggplot2 中允许轴刻度但不允许刻度线计数因方面而异?
- c# - 通过控制器操作填充下拉列表
- rust - Rust如何在某些结构的静态函数调用中解析类型注释
- html - 文本内容太长时列超过行宽
- powershell - 为什么某些 Powershell 类型名称中需要加号运算符?
- python - 从 json 文件中的链接列表中抓取新闻站点,仅返回第一页
- android - ListView 不显示来自数据库的数据(SQLite)
- scala.js - scalajs:使用 js.Dynamic.literal 调用 javascript 函数可以工作,但不能使用 js.Object
- javascript - 切换时带有下拉移动汉堡图标的响应式导航栏消失
- amazon-web-services - 为 EC2 实例保持相同的 IP 地址