问题标签 [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 投票
1 回答
312 浏览

c# - C# - 通过 x:Bind 将 XAML 元素添加到 UWP 应用

背景:我正在编写一个 UWP Twitter 客户端。

Twitter 通过其 API 返回的有用数据位之一是可以直接在推文中链接的内容对象 - #hashtags、@usernames、$symbols 和 URL。这使得从包含推文全文的字符串中提取这些对象变得容易,以便将它们转换为链接。

我了解 XAML 需要如何使用<run><hyperlink>标记来查找此内容,并且我已经弄清楚了如何为每个推文对象动态创建该 XAML。

我想不通的是如何将我生成的 XAML 注入我的应用程序的DataTemplate. 因为需要在应用程序的多个页面上显示推文内容,所以我使用 aResourceDictionary来保存我的所有 XAML 样式,包括我的DataTemplate. 所以,我完全不确定如何将我生成的 XAML 连接到我的应用程序的 UI。

例如,如果一条推文如下所示:

“嘿@twitter,你在浪费时间!#FridayFeeling”

我生成的 XAML 对象如下所示:

如果推文的文本中没有可链接的内容,那么我可以Tweet.Text按原样使用,所以我试图将其绑定到TextBox. 如何处理动态插入此 XAML?

我是否坚持完全放弃数据绑定并循环通过我的集合以编程方式添加我的所有 XAML?

这是我的数据模板:

0 投票
1 回答
733 浏览

c# - UWP TextBlock 文本不会改变

我的目标是制作一个可供用户选择的可选节目列表,然后在右侧面板中编辑有关它的数据。

我有一个ObservableCollection绑定到一个ListView. 测试Shows 正确显示。我也有一个Show SelectedShow使用Mode.TwoWay. 当我Show在 中选择不同时ListView,我会收到相应的调试语句。

当我单击. TextBlock_TextShowListView

有任何想法吗?

MainPage.xaml:

MainPage.xaml.cs:

显示.cs:

0 投票
1 回答
36 浏览

visual-studio - x:Bind Mode=OneWay 的问题

我正在使用 x:Bind with mode=OneWay。

IsNotNull 检查对象是否不为空。

ViewModel.SectedItem 显示数据网格中的选定项。因此,当我在 DataGrid 中选择项目时,应用栏按钮必须将属性 isEnabled 设置为 true。

但是: 顶部的 2 个第一个按钮必须可用,但不可用

0 投票
2 回答
215 浏览

xaml - 绑定到 ElementName 取决于绑定顺序

我创建了简单StateTrigger的绑定到FrameworkElement Width属性。存在三个依赖属性MinValueMaxValueElement。它们的类型是doubledouble并且FrameworkElement相应地。

而且我注意到,根据绑定顺序,它可能会或可能不会起作用。

这工作正常。

这不是。

请注意,这两个示例的唯一区别是Element属性绑定顺序。

ElementWidthTrigger每个依赖属性都有属性更改回调。当Element在最顶端时,无论如何都不会调用回调。

x:Bind无论使用什么顺序都可以解决这个问题,但仍然存在一个问题。谁能解释为什么Element属性无法根据绑定顺序绑定?

在 Windows 10 1803 版本 17134.320 上运行。

工作示例项目可以在这里找到。

0 投票
1 回答
812 浏览

c# - How to have multiple datatemplates in UWP ListView (x:bind)

I'm stuck with my UWP app, I'm trying to follow MVVM principle with {x:bind} instead of the older WPF way {binding name}

But I'm stuck with my idea/development, I'm trying insert multiple DataTemplates within ListView (or GridView).

I want to do something like this as an example:

As you can see, I have 2 DataTemplate: Cars and Bikes inside ListView.ItemTemplate.

Not sure if this is relevant: Cars.cs is inheriting from Bike.cs parent.

I don't really get why UWP doesn't accept more than 1 DataTemplate within ListView.ItemTemplate. Because I really want my ListView to show as many kind of data as possible.

What's the way to solve this issue in UWP and {x:bind}?

0 投票
0 回答
26 浏览

c# - 是否有一种标准方法可以将当前使用绑定的 UWP 应用程序转换为使用 X:Bind?

该应用程序目前正在尽可能地使用 mvvm。目前,应用程序在每个视图中都使用绑定。有一个 basecontrol 类当前处理 propertychange 并使用全局属性 (ParentProperty)。当我尝试将命令转换为事件时,当“事件”方法被命中时,我拥有的这个全局属性为空,但在使用带有经典绑定的命令流时不为空。我已经在后面的代码中设置了上下文,点击按钮就达到了它需要的方法。只是我有一个属性在尝试使用 xbind 时无法通过绑定/命令获取其值。

在大多数情况下,我理解并看到 xbind 可以处理简单的实例,但它的事件部分让我摸不着头脑。下面的代码是到另一个页面的简单导航事件,我们将在其中添加新记录。此代码使用命令可以正常工作,但是在尝试执行 x:bind 时,父属性为空。

命令和事件之间的一个区别是模型 model = new Model(); 在事件方法中是 Model model = obj as Model(); 在命令中。它接受一个对象 obj 参数。

0 投票
0 回答
106 浏览

c# - uwp xbinding 因转换器而失败

我必须将转换器与 Texblocks 和 UWP 应用程序中的滑块一起使用。使用 Binding 时一切正常,但更改为 x:Bind 后转换器停止工作。属性正在正确更新,如果我删除转换器(从文本框中),我会看到正在更新的值(但没有正确的格式)。

也许有人可以帮助我更改转换器代码以与 x:Bind 兼容(我已经尝试过,但找不到解决方案)。

属性:

Slider 控件需要将 Position 转换为 double。Textblock 控件需要将 Position 转换为具有正确格式的字符串。

XAML 代码滑块控件

文本块控件

“TimeSpanToSecondsConverter”的代码

“TimeSpanToStringConverter”的代码

谢谢你。

0 投票
2 回答
64 浏览

xaml - 如何将我的 ListView 绑定转换为 x:Bind?

假设我在我的应用程序中指定了以下示例数据源:

应用程序.xaml:

如何将以下两个绑定转换为它们的 x:Bind 变体???

用户页面.xaml。

0 投票
2 回答
213 浏览

c# - 如何使用 MVVM ViewModel 根据 ListView SelectionChanged 事件更改视图中的内容

我想制作一个带有 ListBox 导航的 UWP 应用程序,其所选项目确定框架的内容。When the selection changes, the frame content should change. 我找到了一个示例(下面的方法 1),但它在后面的代码中使用了事件处理程序。我想通过这个项目学习 MVVM,因此想使用 MVVM 解决这个问题。我是 MVVM 的新手,我目前的理解是,为了将 View 与 ViewModel 分离,ViewModel 不应引用任何特定于 View 的内容。这是一个正确的理解吗?我能想到的使用 ViewModel 更改框架视图的唯一方法是基本上将事件处理程序代码移动到 ViewModel 并将 Frame 传递给构造函数(下面的方法 2)。但这违反了我对 ViewModel 与 View 关系的理解,因为 ViewModel 引用了 View 中事物的特定实例;此外,这似乎是毫无意义的开销,而且它会给组织带来很少的好处。

您将如何针对此问题实施 MVVM 解决方案?或者这是使用事件处理程序更好的情况?

方法 1 - 事件处理程序: 此代码基于 Microsoft 提供的示例。(这里是相关代码的链接:https ://github.com/microsoft/Windows-universal-samples/tree/master/Samples/Playlists/cs )

方法 2 - MVVM(?):

0 投票
2 回答
84 浏览

c# - 将 UWP DataGrid 绑定到 MVVM 模型的困惑

在这个MSDN 教程中,他们使用Model-View-ViewModel [MVVM]将 DataGrid 绑定到使用{x:Bind} 标记扩展的客户列表,如下所示:

他们有一个Customer类如下:

问题MyViewModel:该教程在哪里?

备注:我使用的是最新版本 6.3.1VS2019