如何将代码隐藏中的命令绑定到WPF中的视图

本文关键字:绑定 WPF 视图 命令 代码 隐藏 | 更新日期: 2023-09-27 18:13:38

我想在我的代码后面执行命令(GenericReportingView.xaml)从一个按钮在我的视图(GenericReportingView.xaml)..

GenericReportingView.xaml:

 <Grid  Grid.Row="0" Grid.Column="0">
     <Button Content="GetReport" Command="{Binding GetReportCommand}" HorizontalAlignment="Left" Width="50" />
 </Grid>

GenericReportingView.xaml.cs:

public partial class GenericReportingView
{
    private DelegateCommand _getReportCommand;
    public DelegateCommand GetReportCommand
    {
        get { return _getReportCommand ?? (_getReportCommand = new DelegateCommand(GetReport, (obj) => true)); }
    }
    public GenericReportingView()
    {
        InitializeComponent();
    }
    public void GetReport(object obj)
    {
        //Do something..
    }
}

但是命令没有被调用…如有任何帮助,我将不胜感激。

如何将代码隐藏中的命令绑定到WPF中的视图

您不应该在代码隐藏中绑定属性。绑定通常用于将控件链接到视图模型中的属性(在这种情况下看起来不像有视图模型)。相反,你可以使用按钮上的click处理程序来调用你的方法:

GenericReportView.xaml:

<Grid  Grid.Row="0" Grid.Column="0">
    <Button Content="GetReport" Click="GetReport" HorizontalAlignment="Left" Width="50" />
</Grid>

GenericReportView.xaml.cs

public partial class GenericReportingView
{
    public GenericReportingView()
    {
        InitializeComponent();
    }
    public void GetReport(object obj, RoutedEventArgs e)
    {
        //Do something..
    }
}