首页 > 解决方案 > 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 案例中复制它。

标签: c#telerikuwp-xamlwindows-template-studio

解决方案


恐怕你不能使用 x:bind 来绑定OpenCustomerCommandDataTemplate一般来说,如果我们想绑定视图模型,OpenCustomerCommand我们需要将当前页面设置DataContext为,ViewModel然后使用绑定标记扩展来绑定,如下所示。

<Button HorizontalAlignment="Right" 
    Margin="0,0,30,0" 
    Content="Favorite" 
    Command="{Binding ElementName=RootGrid,Path=DataContext.OpenCustomerCommand }" 
       />

这是您可以参考的类似情况。


推荐阅读