问题标签 [xbind]
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# - 更改视图模型
我有简化的应用程序来显示我的问题
当我单击按钮时,它会更改Text
属性ViewModel
并TextBlock.Text
更新。
主页.xaml
MainPage.xaml.cs
ViewModel类有一个字符串属性(Text)并实现了INotifyPropertyChange接口。
问题开始时ViewModel
未在 ctor 中设置(即 viewModel 为 null 并在运行时更改):
编译绑定不起作用(文本未更改),我无法弄清楚为什么会这样......我需要将 viewModel 从 null 更改(vm 为 null,因为它正在等待真实应用程序中的一些数据)
c# - UWP中通过x:bind将数据绑定到ListView
我在我的程序中使用 hubsection 并且<HubSection>
有一个 ListView。但我无法将数据绑定到 ListView。我曾尝试使用{binding}
,但在输出中出现空白,并且在使用x:bind
时出现错误
没有为 DataTemplate 定义 DataType。包含 x:Bind 的模板需要使用 'x:DataType' 指定 DataType
帮我解决这个问题。这是我的代码:
.xaml
。CS
mvvm - TextBox Keydown 方法调用了两次
当我在文本框中键入一个单词并按 Enter 键时,该方法会被调用两次。使用模板 10。
xaml - x:资源字典中的绑定不起作用
我正在努力掌握已编译的数据绑定概念。我有一个视图 (MainPage),其中包含一个 ListBox 和一个用于该 ListBox 的数据模板 (ItemTemplate)。MainPage 有一个 MainPageViewModel,其中包含 ItemViewModel 的 ObservableCollection。ItemViewModel 仅包含一个属性名称。
主页:
包含数据模板的资源字典:
这段代码可以编译,但是当我运行它时,绑定到 Name 属性失败,尽管生成了项目。如果我使用经典绑定一切正常,如果我将数据模板直接放在 MainPage 的资源中,它也可以工作。我错过了什么?
c# - 无法与 ContentControl 内的 ItemsControl 形成绑定
在 UWP 应用程序中,我试图将 ListBox 注入内容控件。正如您将在我提交的代码中看到的那样,ListBox 的 ItemsSource 绑定未注册到 PropertyChanged 事件,因此当我尝试将 ItemsSource 更改为新集合时,它不会在列表中直观地反映出来。我知道引用是正确的,因为如果我在设置绑定之前先创建新集合,屏幕会显示列表。我需要做什么才能使以下代码正常工作?
和
xaml - 编译绑定和常规绑定之间的奇怪行为差异
我正在尝试使用 ToggleMenuFlyoutItems 创建一个 MenuFlyout,其中在任何给定时刻仅检查一个切换。切换对应于 ToggleViewModels,将切换的 IsChecked 属性绑定到 ToggleViewModel 的 IsSelected 属性。因为我想在选中新切换时取消选中之前选中的切换,所以我将 IsSelected 属性的设置传递给包含 ToggleViewModel 集合的 MainViewModel。
在 MainPage.xaml 中定义的带有弹出按钮的按钮
主页面视图模型:
切换视图模型:
现在上面的所有代码都运行良好。当我尝试使用常规绑定而不是编译绑定时会出现问题:
像这样绑定属性我突然能够取消选中当前选中的切换,以便没有选择任何一个。这是由于当我在 IsSelected 属性的 setter 中引发 OnPropertyChanged 时未调用 IsSelected 属性的 getter(使用常规绑定的原因是我想在后面的代码中动态创建切换,但为了说明问题XAML 也同样有效)。
谁能向我解释为什么{x:Bind}
在这种情况下有效但不是{Binding}
?
xaml - 如何更改 x:Bind 的默认模式?
我不知道他们为什么决定为 to 设置默认值Mode
但这OneTime
不是我大多数时候想要的。它浪费了我一整天的调试时间。
有没有办法将值设置为of 的OneWay
默认值?Mode
x:Bind
c# - 将参数传递给 xbind 事件处理程序
在 WPF 应用程序中,我有一个接受 aSecureString
作为参数的登录命令。我使用 xaml 转换器将值从密码框传递给命令。
我想使用 xbind 在 UWP 中做类似的事情。您可以使用 xbind 将参数传递给事件处理程序吗?
xaml - 使用 x:Bind 时指定签名
UWP 允许您绑定到静态方法。我正在尝试通过使用来获取时间字符串
MyPatternString
“h:mm tt”在哪里。
问题是DateTime
'sToString()
方法有几个不同的签名。第一个收到IFormatProvider
. 因此,我得到一个构建错误:
函数参数“提供者”无效或不匹配
有没有办法告诉它我希望使用接受字符串的签名?我原以为它会自动知道这一点。
validation - UWP:x:数字字段的绑定和数据验证
我在 UWPx:Bind
和数据验证方面有点挣扎。我有一个非常简单的用例:我希望用户输入int
一个TextBox
TextBlock
在用户离开后立即在 a 中显示数字TextBox
。我可以InputScope="Number"
为设置TextBox
,但这并不能阻止使用键盘键入的人键入 alpha 字符(或粘贴某些内容)。问题是,当我用 绑定一个字段时,如果您绑定的字段被声明为 ,您Mode=TwoWay
似乎无法阻止 a 。如果输入是数字,我想检查该方法,但在此之前发生异常。我的(非常简单的)ViewModel(这里没有模型,我尽量让它尽可能简单):System.ArgumentException
int
set
我背后的代码:
还有我的整个 XAML:
如果我在 中输入数字字符TextBox
,一切正常。但是如果我输入一个非数字值(比如“d”)(它甚至没有到达set
for 方法第一个括号的断点MyFieldToValidate
):
是否有最佳实践来做我想做的事?最简单的解决方案是首先阻止用户输入除数字以外的其他字符,但我一直在寻找几个小时而没有找到简单的方法......另一个解决方案是在离开字段时验证数据,但我没有找到与 UWP 相关的东西,并且x:Bind
(WPF 的想法很少,但它们不能用 UWP 复制)。谢谢!