问题标签 [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.

0 投票
2 回答
1190 浏览

c# - 更改视图模型

我有简化的应用程序来显示我的问题

当我单击按钮时,它会更改Text属性ViewModelTextBlock.Text更新。

主页.xaml

MainPage.xaml.cs

ViewModel类有一个字符串属性(Text)并实现了INotifyPropertyChange接口。


问题开始时ViewModel未在 ctor 中设置(即 viewModel 为 null 并在运行时更改):


编译绑定不起作用(文本未更改),我无法弄清楚为什么会这样......我需要将 viewModel 从 null 更改(vm 为 null,因为它正在等待真实应用程序中的一些数据)

0 投票
1 回答
6186 浏览

c# - UWP中通过x:bind将数据绑定到ListView

我在我的程序中使用 hubsection 并且<HubSection>有一个 ListView。但我无法将数据绑定到 ListView。我曾尝试使用{binding},但在输出中出现空白,并且在使用x:bind时出现错误

没有为 DataTemplate 定义 DataType。包含 x:Bind 的模板需要使用 'x:DataType' 指定 DataType

帮我解决这个问题。这是我的代码:

.xaml

。CS

0 投票
1 回答
57 浏览

mvvm - TextBox Keydown 方法调用了两次

当我在文本框中键入一个单词并按 Enter 键时,该方法会被调用两次。使用模板 10。

0 投票
1 回答
673 浏览

xaml - x:资源字典中的绑定不起作用

我正在努力掌握已编译的数据绑定概念。我有一个视图 (MainPage),其中包含一个 ListBox 和一个用于该 ListBox 的数据模板 (ItemTemplate)。MainPage 有一个 MainPageViewModel,其中包含 ItemViewModel 的 ObservableCollection。ItemViewModel 仅包含一个属性名称。

主页:

包含数据模板的资源字典:

这段代码可以编译,但是当我运行它时,绑定到 Name 属性失败,尽管生成了项目。如果我使用经典绑定一切正常,如果我将数据模板直接放在 MainPage 的资源中,它也可以工作。我错过了什么?

0 投票
1 回答
80 浏览

c# - 无法与 ContentControl 内的 ItemsControl 形成绑定

在 UWP 应用程序中,我试图将 ListBox 注入内容控件。正如您将在我提交的代码中看到的那样,ListBox 的 ItemsSource 绑定未注册到 PropertyChanged 事件,因此当我尝试将 ItemsSource 更改为新集合时,它不会在列表中直观地反映出来。我知道引用是正确的,因为如果我在设置绑定之前先创建新集合,屏幕会显示列表。我需要做什么才能使以下代码正常工作?

0 投票
0 回答
115 浏览

xaml - 编译绑定和常规绑定之间的奇怪行为差异

我正在尝试使用 ToggleMenuFlyoutItems 创建一个 MenuFlyout,其中在任何给定时刻仅检查一个切换。切换对应于 ToggleViewModels,将切换的 IsChecked 属性绑定到 ToggleViewModel 的 IsSelected 属性。因为我想在选中新切换时取消选中之前选中的切换,所以我将 IsSelected 属性的设置传递给包含 ToggleViewModel 集合的 MainViewModel。

在 MainPage.xaml 中定义的带有弹出按钮的按钮

主页面视图模型:

切换视图模型:

现在上面的所有代码都运行良好。当我尝试使用常规绑定而不是编译绑定时会出现问题:

像这样绑定属性我突然能够取消选中当前选中的切换,以便没有选择任何一个。这是由于当我在 IsSelected 属性的 setter 中引发 OnPropertyChanged 时未调用 IsSelected 属性的 getter(使用常规绑定的原因是我想在后面的代码中动态创建切换,但为了说明问题XAML 也同样有效)。

谁能向我解释为什么{x:Bind}在这种情况下有效但不是{Binding}

0 投票
3 回答
834 浏览

xaml - 如何更改 x:Bind 的默认模式?

我不知道他们为什么决定为 to 设置默认值Mode但这OneTime不是我大多数时候想要的。它浪费了我一整天的调试时间。

有没有办法将值设置为of 的OneWay默认值?Modex:Bind

0 投票
1 回答
239 浏览

c# - 将参数传递给 xbind 事件处理程序

在 WPF 应用程序中,我有一个接受 aSecureString作为参数的登录命令。我使用 xaml 转换器将值从密码框传递给命令。

我想使用 xbind 在 UWP 中做类似的事情。您可以使用 xbind 将参数传递给事件处理程序吗?

0 投票
3 回答
542 浏览

xaml - 使用 x:Bind 时指定签名

UWP 允许您绑定到静态方法。我正在尝试通过使用来获取时间字符串

MyPatternString“h:mm tt”在哪里。

问题是DateTime'sToString()方法有几个不同的签名。第一个收到IFormatProvider. 因此,我得到一个构建错误:

函数参数“提供者”无效或不匹配

有没有办法告诉它我希望使用接受字符串的签名?我原以为它会自动知道这一点。

0 投票
2 回答
1498 浏览

validation - UWP:x:数字字段的绑定和数据验证

我在 UWPx:Bind和数据验证方面有点挣扎。我有一个非常简单的用例:我希望用户输入int一个TextBoxTextBlock在用户离开后立即在 a 中显示数字TextBox。我可以InputScope="Number"为设置TextBox,但这并不能阻止使用键盘键入的人键入 alpha 字符(或粘贴某些内容)。问题是,当我用 绑定一个字段时,如果您绑定的字段被声明为 ,您Mode=TwoWay似乎无法阻止 a 。如果输入是数字,我想检查该方法,但在此之前发生异常。我的(非常简单的)ViewModel(这里没有模型,我尽量让它尽可能简单):System.ArgumentExceptionintset

我背后的代码:

还有我的整个 XAML:

如果我在 中输入数字字符TextBox,一切正常。但是如果我输入一个非数字值(比如“d”)(它甚至没有到达setfor 方法第一个括号的断点MyFieldToValidate):

伊姆古尔

是否有最佳实践来做我想做的事?最简单的解决方案是首先阻止用户输入除数字以外的其他字符,但我一直在寻找几个小时而没有找到简单的方法......另一个解决方案是在离开字段时验证数据,但我没有找到与 UWP 相关的东西,并且x:Bind(WPF 的想法很少,但它们不能用 UWP 复制)。谢谢!