Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Silverlight 从一个控件禁用另一个控件中的按钮_Silverlight_Windows Phone 7.1_Windows 8 - Fatal编程技术网

Silverlight 从一个控件禁用另一个控件中的按钮

Silverlight 从一个控件禁用另一个控件中的按钮,silverlight,windows-phone-7.1,windows-8,Silverlight,Windows Phone 7.1,Windows 8,嗨,我正在silverlight开发Win 8 metro应用程序 我有两个控件Control1和Control2 控件2在控件1内 Control2有一个列表视图,Control1有按钮。单击listview必须禁用Control1中的按钮 我试图通过使用 public bool OverriddenFlag { get { return _overriddenFlag; } set { _overriddenFlag= value;

嗨,我正在silverlight开发Win 8 metro应用程序

我有两个控件Control1和Control2

控件2在控件1内

Control2有一个列表视图,Control1有按钮。单击listview必须禁用Control1中的按钮

我试图通过使用

 public bool OverriddenFlag
{
    get { return _overriddenFlag; }
    set
    {
        _overriddenFlag= value;
        NotifyPropertyChanged("OverriddenFlag");
    }
}
在xaml中

<Button x:Name="ShowDetails" FontWeight="bold" FontSize="12" Content="+" click="ShowDetails_Click" IsEnabled="{Binding OverriddenFlag, Mode=OneWay}"/>
但它没有禁用按钮。
如何禁用按钮。有什么想法吗?

OverrideFlag应该是Control2中的依赖项属性,因此:

    public static readonly DependencyProperty OverriddenFlagProperty = DependencyProperty.Register("OverriddenFlag",
        typeof(bool), typeof(Control2), null);

    public bool OverriddenFlagProperty
    {
        get { return (bool)GetValue(OverriddenFlagProperty); }
        set
        {
            SetValue(OverriddenFlagProperty, value);
        }
    }
然后尝试将绑定修改为:

<Button x:Name="ShowDetails"  IsEnabled="{Binding OverriddenFlag, ElementName=Control2}"/> 

你似乎很困惑。如果您正在使用Windows8 Metro应用程序,那么您既没有使用Silverlight也没有使用WindowsPhone 7,但您可能正在使用XAML和C。如果您正在使用Silverlight应用程序,那么您没有使用Windows8应用程序。感谢您的反馈。我还没有试过你的代码,但我会试试。我对frameworkelement做了我想做的事情,比如代码frameworkelement fe=frameworkelement this.Parent;而fe.GetType.Name!=控件fe=FrameworkElementfe.Parent;按钮_Button=Buttonfe.FindNamebutton_button.IsEnabled=false@TonyHi Tony,我像你说的那样试过了,但是它并没有改变按钮的状态,即使在控件中单击了一个项目2。在control2中,我将OverridedEnglag设置为true;