问题标签 [xaml-binding]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 使用双向绑定的 UWP 两个单选按钮在页面导航后停止工作
我有两个单选按钮,它们使用双向绑定到两个布尔属性X
和Y
我的视图模型。由于单选按钮是互斥的,设置会X
自动清除Y
,反之亦然。现在,如果我导航到另一个页面,然后返回,再次导航到该页面并返回带有单选按钮的页面,这些按钮将停止工作。
重现问题的步骤:
- 创建一个新的 C# 通用 Windows 空白应用程序。
- 将最低版本和目标版本设置为 1809(1803 和 Fall Creators Update 的问题仍然存在)
在 App.xaml.cs 中,在行前添加以下代码
sealed partial class App : Application
(Do includeSystem.ComponentModel
andSystem.Runtime.CompilerServices
namespaces)并在课堂
/li>App
上添加在 MainPage.xaml 中,将页面内容替换为
并在 MainPage.xaml.cs 中,将
/li>MainPage
类替换为向您的项目添加一个空白页面,并在其 .xaml 文件中,将其页面内容替换为
并在其 .cs 文件中,添加以下按钮处理程序
/li>编译并启动应用程序,一旦它运行,单击单选按钮以确认它们正在工作。
单击导航,然后单击返回。此时单选按钮正在工作。
再次单击导航,然后单击返回。按钮不再起作用。
是什么导致按钮停止工作?这是一个错误还是我错过了一些东西并且行为是预期的?谢谢。
c# - 如何处理 WPF 数据绑定中缺少的 XAttributes?
我有一个 WPF 应用程序,它读取 XML 文件并创建一个XDocument
要绑定的对象,通过 DataContexts 等将其各种元素传递给其他 UI 元素。此应用程序读取的 XML 模式将元素上的一些属性标记为完全可选的。
“如何:为 XML 查询结果绑定到 XDocument、XElement 或 LINQ ”中概述了我用来绑定的方法。应用程序将加载一个 XML 文件或创建一个空的 XDocument,然后将其分配DataContext
为 UI 的主网格...
然后将带有文档的元素的实例作为ItemsSource
for a ListBox
...
然后,DataTemplate
ListBox 中的项目具有图标和 a ToggleButton
,其状态由每个元素relevant
上的布尔属性的值定义。<item>
我编写了自己的自定义IValueConverter
类来处理 XML 布尔字符串System.Windows.Visibility
和bool
值之间的转换......
现在,如果我加载一个文档,其中每个<item>
元素都relevant
定义了其属性,这将按预期工作。但是,模式定义了relevant
可能存在也可能不存在。因此,当我在缺少这些属性的文档中创建元素或加载时,列表项视图会以静默方式完全中断。两个图标都出现了,切换按钮似乎什么也没做。断点显示我的 custom IValueConverter
s 从未为这些元素调用,这表明绑定由于Attribute[relevant]
存在而默默地失败null
,并且null
没有任何属性,更不用说 了Value
。
我尝试使用FallbackValue
inBinding
无济于事,并且空条件运算符在绑定中不起作用 - XAML 解析器将在运行时异常。
问题的根源似乎是如果属性不存在,绑定将不起作用,并且似乎没有办法让它具有默认值或创建属性,如果它不存在存在。那么,有没有一种方法可以让绑定按照我期望的方式运行?如果没有,有没有办法将属性添加到每个元素,如果它丢失了?
c# - Xamarin.Forms 绑定不适用于嵌套的自定义控件
我正在尝试创建一个简单的(数独)网格,它基本上由 9 个自定义(网格)控件组成,其中每个控件都包含 9 个其他自定义(网格)控件。但是,绑定似乎在GridCell控件中不起作用。外部GridBigCell控件似乎工作正常,我可以看到它在调试时绑定到OuterCell属性。
代码非常简单,这可能甚至不是创建这样一个网格的好方法,但在这一点上,我只是好奇这里有什么问题:)
MainPage.xaml:
GridBigCell 控件:
网格单元:
编辑:型号:
PropertyChanged 由 Fody.PropertyChanged 库处理。
wpf - XAML:从模板绑定到自定义控件的属性
在我的 WPF 应用程序中,我有一个带有依赖对象的自定义控件
从我的 XAML 中,我试图绑定到 SomeField,如下所示,但它不起作用: 更新:
尝试了 StackOverflow 中类似问题中建议的不同解决方案,但都没有奏效。也许我的案例是一个特定的案例,因为我试图从模板中绑定?
c# - 是否可以将 MenuItem.IsEnabled 属性绑定到不同的上下文?
我有一个ListView绑定到一组对象(在这种情况下称为User s),并且模板包含一个ContextActions菜单。需要根据与视图中的项目没有直接关系的条件来启用或禁用其中一个菜单项(无论是否存在与某种外围设备的蓝牙连接)。我现在正在做的是迭代TemplatedItems属性中的 Cell 并在每个上设置IsEnabled。
这是ListView的 XAML ,精简到对我的问题很重要的部分:
这是我现在设置属性值的方式:
这行得通,但我不喜欢它。这显然与数据绑定视图的整体理念不符。我宁愿有一个可以绑定到IsEnabled属性的布尔值,但是从对象设计的角度来看,将它添加到User对象没有意义;它与该类的内容(代表登录帐户)无关。我想将User包装在某个存在的本地类中,只是为了将这个布尔属性粘贴到它上面,但这也感觉很奇怪,因为集合中的每个项目的值总是相同的。还有其他方法可以绑定MenuItem.IsEnabled属性吗?
xaml - 如何将值绑定到引用的自定义内容页面 (XAML)
我创建了一个自定义 ContentPage 来显示一个带有首字母的圆形头像。当我通过绑定传递一个值时,它会显示为null
,我进行了调试以检查这一点。有人能帮助我吗?谢谢。
主页.xaml
CircleView.xaml
CircleView.xaml.cs