如何关闭radgrid过滤中使用的用户控件?

时间:2012-02-27 05:48:16

标签: c#-4.0 silverlight-4.0 telerik-grid

我有一个radgrid,对于日期列,我创建了一个用于过滤的自定义用户控件。我需要创建一个关闭按钮来关闭用户控件。没有我可以打电话的近距离赛事。我不想让可见性崩溃。我从下面的内容开始:

public partial class DateFilterControl : UserControl, IFilteringControl
{
    public event CloseEventHandler Close;
    public delegate void CloseEventHandler();

    private void Button_Click(object sender, RoutedEventArgs e)
    {
        this.Close();            
    }
}

抛出无法引用的空引用异常。我需要用什么代码来关闭用户控件?

1 个答案:

答案 0 :(得分:1)

使用Messaging Service。使用此功能,您可以在ViewModel中关闭窗口,因此无需在Backend中提供关闭功能。将Command属性添加到Cancel按钮

 <Button Content="Cancel" Command="{Binding CancelCommand}"/>

现在在ViewModel中添加RelayCommand属性添加

 Messenger.Default.Send<bool>(true, typeof(XViewModel));

现在在此userControl的BackEnd中,在构造函数中添加以下内容。

 Messenger.Default.Register<bool>(this, typeof(ScheduleViewModel), (b) => 
                                        {
                                            if (b == true)
                                            {
                                                this.DialogResult = true;
                                            }
                                        });

现在你可以关闭窗口...... 这肯定有助于你...

相关问题