相关疑难解决方法(0)

WPF附加属性数据绑定

我尝试使用附加属性绑定.但无法让它发挥作用.

public class Attached
{
    public static DependencyProperty TestProperty =
        DependencyProperty.RegisterAttached("TestProperty", typeof(bool), typeof(Attached),
        new FrameworkPropertyMetadata(false, FrameworkPropertyMetadataOptions.BindsTwoWayByDefault | FrameworkPropertyMetadataOptions.Inherits));

    public static bool GetTest(DependencyObject obj)
    {
        return (bool)obj.GetValue(TestProperty);
    }

    public static void SetTest(DependencyObject obj, bool value)
    {
        obj.SetValue(TestProperty, value);
    }
}
Run Code Online (Sandbox Code Playgroud)

XAML代码:

<Window ...>
    <StackPanel local:Attached.Test="true" x:Name="f">
        <CheckBox local:Attached.Test="true" IsChecked="{Binding (local:Attached.Test), Mode=TwoWay, RelativeSource={RelativeSource Self}}" />
        <CheckBox local:Attached.Test="true" IsChecked="{Binding (local:Attached.Test), Mode=TwoWay}" />
    </StackPanel>
</Window>
Run Code Online (Sandbox Code Playgroud)

和绑定错误:

System.Windows.Data Error: 40 : BindingExpression path error: '(local:Attached.Test)' property not found on 'object' ''StackPanel' (Name='f')'. BindingExpression:Path=(local:Attached.Test); DataItem='StackPanel' (Name='f'); …
Run Code Online (Sandbox Code Playgroud)

wpf xaml binding attached-properties

63
推荐指数
2
解决办法
4万
查看次数

XamlParseException无法分配给属性.绑定不与附加属性一起使用

我想为Windows应用商店应用创建带附加属性的自定义文本框.我正在遵循这个解决方案.现在它使用硬编码值作为属性值,但我想使用绑定设置值,但它不起作用.我试图搜索很多,但没有帮助我任何解决方案.

异常细节是这样的

CustomTextBox.exe中出现"Windows.UI.Xaml.Markup.XamlParseException"类型的异常,但未在用户代码中处理

WinRT信息:无法分配属性'CustomTextBox.Input.Type'.

MainPage.xaml中

<!-- local:Input.Type="Email" works -->
<!-- local:Input.Type="{Binding SelectedTextboxInputType}" not working -->

<TextBox x:Name="txt" local:Input.Type="{Binding SelectedTextboxInputType}" Height="30" Width="1000" />

<ComboBox x:Name="cmb"  ItemsSource="{Binding TextboxInputTypeList}" SelectedItem="{Binding SelectedTextboxInputType}" Height="30" Width="200" 
          Margin="451,211,715,527" />
Run Code Online (Sandbox Code Playgroud)

MainPage.xaml.cs中

public sealed partial class MainPage : Page
{
    public MainPage()
    {
        this.InitializeComponent();
        DataContext = new ViewModel();
    }
}
Run Code Online (Sandbox Code Playgroud)

Input.cs

//InputType is enum
public static InputType GetType(DependencyObject obj)
{
    return (InputType)obj.GetValue(TypeProperty);
}

public static void SetType(DependencyObject obj, InputType value)
{
    obj.SetValue(TypeProperty, value);
}

public static readonly …
Run Code Online (Sandbox Code Playgroud)

xaml binding exception microsoft-metro windows-runtime

6
推荐指数
2
解决办法
7149
查看次数