data-binding 相关问题

将两个数据/信息源绑定在一起并使它们保持同步的一般技术。

逻辑帮助:我想在容器中支持多个图标C++/QML

我有一个 C++ Qt 应用程序,其顶行容器由 9 个图标位置组成。当前每个图标位置都有一个图标源 (URL)、一个用于切换开/关的布尔值以及一个会更改的图标状态...

回答 1 投票 0

WPF 中的 ListView 不显示 ViewModel 静态数据

我正在创建一个小示例,以在 WPF 页面上使用 ViewModel 显示枚举数据。但不知何故它没有显示。 公共类 GameParticipants:IGameParticipants { 公共 int Id{ 得到;放; }

回答 1 投票 0

.NET Maui XAML 数据绑定在 Int32 和 Double 上失败

我有一个 .NET MAUI 应用程序,它使用数据绑定并尝试将条目字段中的值格式化为货币。 该属性是双精度的,并且绑定确实有效,但是我收到 XAML 数据绑定失败。 不...

回答 1 投票 0

.NET MAUI 如何执行嵌套绑定?

我想在 CarouselView 中使用多个 CollectionView 的绑定。然而,如何才能做到这一点呢? 从视觉上看,我正在尝试类似以下的操作: <--CarouselView: Questions---------...

回答 1 投票 0

将 UI 控件绑定到另一个 ViewModel 的属性

我正在使用 WinUI 3 平台用 C# 编写一个应用程序。 作为这个世界的新手,我的出发点是通过 Template Studio 创建的模板。 我还使用 MVVM 社区工具包。 我正打算给你...

回答 1 投票 0

WPF 中的双向绑定 - 缓存对象位于另一个绑定对象内

我无法让 WPF 中的双向绑定正常工作。 我得到的是一个名为 UserCache 的类,它有一个名为“Current”的属性。此类的对象被放置在外观类中,...

回答 1 投票 0

陷入for循环,想要生成数字,但生成了NaN

我想通过以下方式简化我的编码 这是我的代码。 我<- c(1,3,5,7,9,11,13,15,17,19,21) i <- data.frame( r=c(1:22), m =NA, sd=NA ) for (x in c(1:22)) { i$m\[x] = mean(ur[x : (x+1)]) i$sd\[x] =sd...

回答 1 投票 0

ContentView 中的 MAUI 编译绑定

我在阅读有关编译绑定的 MS 文档时遇到了这一点,现在它让我对如何在自定义控件的 ContentView 上进行数据绑定感到困惑: 重要的 编译绑定...

回答 1 投票 0

BindingContext 在 MAUI 中失败

我不完全理解绑定上下文在毛伊岛是如何工作的。我有使用此数据网格的主页: 我不完全理解绑定上下文在毛伊岛是如何工作的。我有使用此数据网格的主页: <dataGrid:DataGridView Grid.Row="0" Grid.RowSpan="2" ItemsSource="{Binding Expenses}" SelectionMode="None" IndicatorColor="Transparent" IsRefreshing="{Binding IsRefreshing, Mode=TwoWay}" IsLoadMoreEnabled="{Binding IsLoadMore}" LoadMoreCommand="{Binding LoadMoreCommand}" BackgroundColor="{StaticResource White}" IsColumnHeaderVisible="False"> <dataGrid:DataGridView.Columns> <dataGrid:TemplateColumn AllowSort="False"> <dataGrid:TemplateColumn.DisplayTemplate> <DataTemplate x:DataType="models:CategoryModel"> <templates:ExpenseCategoryListItemTemplate /> </DataTemplate> </dataGrid:TemplateColumn.DisplayTemplate> </dataGrid:TemplateColumn> </dataGrid:DataGridView.Columns> </dataGrid:DataGridView> 当我写 x:DataType 时,我认为它应该将 BindingContext 更改为该模型。然后在模板内: <Grid Padding="16,16,16,0" ColumnSpacing="16" BackgroundColor="{StaticResource White}"> <Grid.ColumnDefinitions> <ColumnDefinition Width="Auto" /> <ColumnDefinition Width="85*" /> </Grid.ColumnDefinitions> <local:RoundIconComponent Grid.Column="0" HeightRequest="32" WidthRequest="32" IconBackgroundColor="{Binding Item.IconColor}" IconName="{Binding Item.IconName}" DefaultIconName="ic_arrow_up_red_small" IconHeightRequest="20"/> Item.IconColor 或 Item.IconName 不为 null 并且值正确。这是我的 RoundIconComponent.xaml: <Border BackgroundColor="{Binding IconBackgroundColor}" StrokeShape="RoundRectangle 50" StrokeThickness="0"> <Image Source="{Binding IconName}" Aspect="AspectFit" HeightRequest="{Binding IconHeightRequest}" HorizontalOptions="Center" VerticalOptions="Center" /> </Border> 这是 xaml.cs: public partial class RoundIconComponent : ContentView { public static readonly BindableProperty IconBackgroundColorProperty = BindableProperty.Create(nameof(IconBackgroundColor), typeof(string), typeof(RoundIconComponent), string.Empty); public static readonly BindableProperty DefaultIconBackgroundColorProperty = BindableProperty.Create(nameof(DefaultIconBackgroundColor), typeof(string), typeof(RoundIconComponent), "SteelBlue"); public static readonly BindableProperty IconNameProperty = BindableProperty.Create(nameof(IconName), typeof(string), typeof(RoundIconComponent), string.Empty); public static readonly BindableProperty IconHeightRequestProperty = BindableProperty.Create(nameof(IconHeightRequest), typeof(int), typeof(RoundIconComponent), 20); public static readonly BindableProperty DefaultIconNameProperty = BindableProperty.Create(nameof(DefaultIconName), typeof(string), typeof(RoundIconComponent), "shopping_bag"); public string IconBackgroundColor { get => (string)GetValue(IconBackgroundColorProperty); set => SetValue(IconBackgroundColorProperty, value); } public string DefaultIconBackgroundColor { get => (string)GetValue(DefaultIconBackgroundColorProperty); set => SetValue(DefaultIconBackgroundColorProperty, value); } public string IconName { get => (string)GetValue(IconNameProperty); set => SetValue(IconNameProperty, value); } public string DefaultIconName { get => (string)GetValue(DefaultIconNameProperty); set => SetValue(DefaultIconNameProperty, value); } public int IconHeightRequest { get => (int)GetValue(IconHeightRequestProperty); set => SetValue(IconHeightRequestProperty, value); } public RoundIconComponent() { this.BindingContext = this; InitializeComponent(); } } 如果有人能告诉我为什么它在这里不起作用以及我能做什么 这不起作用的原因实际上很简单,您在构造函数中分配自定义控件的 BindingContext,一旦您在页面中使用它,它就会被覆盖,因为页面的上下文会自动分配给属于该控件的所有控件在页面中,在使用绑定的 MAUI 中创建自定义控件的正确方法是使用绑定的源作为当前控件,因此在您的情况下,您的自定义控件将如下所示: public partial class RoundIconComponent : ContentView { public static readonly BindableProperty IconBackgroundColorProperty = BindableProperty.Create(nameof(IconBackgroundColor), typeof(string), typeof(RoundIconComponent), string.Empty); public static readonly BindableProperty DefaultIconBackgroundColorProperty = BindableProperty.Create(nameof(DefaultIconBackgroundColor), typeof(string), typeof(RoundIconComponent), "SteelBlue"); public static readonly BindableProperty IconNameProperty = BindableProperty.Create(nameof(IconName), typeof(string), typeof(RoundIconComponent), string.Empty); public static readonly BindableProperty IconHeightRequestProperty = BindableProperty.Create(nameof(IconHeightRequest), typeof(int), typeof(RoundIconComponent), 20); public static readonly BindableProperty DefaultIconNameProperty = BindableProperty.Create(nameof(DefaultIconName), typeof(string), typeof(RoundIconComponent), "shopping_bag"); public string IconBackgroundColor { get => (string)GetValue(IconBackgroundColorProperty); set => SetValue(IconBackgroundColorProperty, value); } public string DefaultIconBackgroundColor { get => (string)GetValue(DefaultIconBackgroundColorProperty); set => SetValue(DefaultIconBackgroundColorProperty, value); } public string IconName { get => (string)GetValue(IconNameProperty); set => SetValue(IconNameProperty, value); } public string DefaultIconName { get => (string)GetValue(DefaultIconNameProperty); set => SetValue(DefaultIconNameProperty, value); } public int IconHeightRequest { get => (int)GetValue(IconHeightRequestProperty); set => SetValue(IconHeightRequestProperty, value); } public RoundIconComponent() { InitializeComponent(); } } 它的 XAML 将像这样访问其背后的代码: <ContentView . . . x:Name="this"> <Border BackgroundColor="{Binding IconBackgroundColor,Source={x:Reference this}}" StrokeShape="RoundRectangle 50" StrokeThickness="0"> <Image Source="{Binding IconName,Source={x:Reference this}}" Aspect="AspectFit" HeightRequest="{Binding IconHeightRequest,Source={x:Reference this}}" HorizontalOptions="Center" VerticalOptions="Center" /> </Border> </ContentView 一旦执行此操作,您无需将 BindingContext 分配给自身,并且几乎可以在任何地方使用此控件

回答 1 投票 0

更改 WP7 上列表框的颜色属性

我从 WP7 开始,我正在尝试更改 TexBlock 的颜色和其他属性。它包含在列表框中并绑定到集合。我正在寻找像“OnDataBound”这样的方法。价值...

回答 1 投票 0

asp.net Web 表单仅绑定 <%# %>

这里有什么方法可以绑定<%# Page.ClientID %>而不绑定页面子控件吗? 例如: <%# SomePageProprtyThatReturnsString %> 这里有什么方法可以绑定<%# Page.ClientID %>而不绑定页面子控件吗? 例如: <%# SomePageProprtyThatReturnsString %> <someTag:SomeControl ID="SomeControlID" runat="server" OnDataBinding="SomeControlID_DataBinding"></someTag:SomeControl> 如果我有以下内容,SomeControlID将绑定在每个不需要的回发上 protected override void OnLoad(EventArgs e) { base.OnLoad(e); DataBind(); } 如果我不会在每个帖子上绑定页面,那么SomePageProprtyThatReturnsString在回帖中将不可见 您可以选择要绑定的控件。所以,如果你有这样的事情: <asp:Label runat="server" ID="lblSomething" Text='<%# SomePageProprtyThatReturnsString %>' /> <someTag:SomeControl ID="SomeControlID" runat="server" OnDataBinding="SomeControlID_DataBinding"></someTag:SomeControl> 您只能通过 Databind 拨打 Label: protected override void OnLoad(EventArgs e) { base.OnLoad(e); lblSomething.DataBind(); } <%# SomePagePropertyThatReturnsString %> 看起来它可能是您在 Page 本身上创建的一些公共财产?如果是这种情况,您可以直接输出该属性,而无需通过更改代码进行数据绑定: <%= this.Page.SomePropertyThatReturnsString %>

回答 2 投票 0

无法将 html 的输入绑定到 ASP.NET Core 模型

我正在尝试创建一个订单实体。为此,我创建了一个模型、控制器和视图,但是当我尝试在视图中编写某些内容时,没有任何内容传输到 post 方法,并且我得到了模型...

回答 1 投票 0

我的流畅搜索输入框不允许我输入任何内容

正如标题所述,我正在尝试实现一个 Fluentsearch 输入框,该输入框具有一个 oninput 事件,每次用户在输入中键入内容时都会触发 SearchEmployees 方法。不知道什么原因...

回答 1 投票 0

将 DataSource 属性添加到自定义 WinForms 控件

我想将复杂的数据绑定添加到我的自定义 winforms 控件中,因此我可以执行以下操作: myControl.DisplayMember = "名称"; myControl.ValueMember = "名称"; myControl.DataSource = 新列表<

回答 4 投票 0

将 Collection 类型的 AttachedProperty 绑定到 TemplatedParent

我想创建一个附加属性来保存 MenuItem 对象的集合。这些将在我的 GroupBox 自定义 ControlTemplate 中使用。在该 ControlTemplate 中,我想使用我的自定义

回答 1 投票 0

如何在 WPF 中将通用生成的复选框与枚举标志绑定?

我们有一个人可以拥有多种技能(力量、智力和运气)。在我们的 WPF 应用程序中,我们希望将这些技能绑定到复选框。当一个人的列表中包含这些技能时,那么...

回答 1 投票 0

自定义用户控件 + MVVM - WPF / Prism 框架

目前,我正在重构一个应用程序,其中有很多重复的 XAML 代码。我想改用自定义用户控件。我做了一个关于如何创建它们的教程,但现在我处于一个点上,...

回答 1 投票 0

WPF 组合框选择名称使用 ID

我有一个组合框,我试图在其中使用名称,但是当用户选择名称时,我想选择一个ID而不是名称。 这是我的 XAML: 我有一个 ComboBox,我尝试在其中使用名称,但是当用户选择名称时,我想选择 ID 而不是名称。 这是我的 XAML: <ComboBox x:Name="cb_tvrtkaID" Height="25" Margin="0,10,0,0" Loaded="cb_tvrtkaID_Loaded"/> 还有我的 C#: private void cb_tvrtkaID_Loaded(object sender, RoutedEventArgs e) { MSSQLConnect sql = new MSSQLConnect(); bool sqlIsConnected = sql.Connect(); string query = "SELECT tvrtkaId,tvrtkaNaziv from sifarnik.tvrtka"; SqlConnection connection = sql.GetConnection(); if (connection != null) { using (connection) { try { SqlCommand cmd = new SqlCommand(query, connection); SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { cb_tvrtkaID.Items.Add(reader["tvrtkaNaziv"].ToString()); //cb_tvrtkaID.Items.Add(reader["tvrtkaId"].ToString()); cb_tvrtkaID.SelectedItem = reader["tvrtkaId"].ToString(); cb_tvrtkaID.DisplayMemberPath = reader["tvrtkaNaziv"].ToString(); } } } catch (Exception ex) { Debug.WriteLine(ex); } } } } 这给了我以下错误: System.Windows.Data Error: 40 : BindingExpression path error: 'Arbet-grad d' property not found on 'object' ''String' (HashCode=-1526763463)'. BindingExpression:Path=Arbet-grad d.o.o.; DataItem='String' (HashCode=-1526763463); target element is 'TextBlock' (Name=''); target property is 'Text' (type 'String') System.Windows.Data Error: 40 : BindingExpression path error: 'Arbet-grad d' property not found on 'object' ''String' (HashCode=1553220975)'. BindingExpression:Path=Arbet-grad d.o.o.; DataItem='String' (HashCode=1553220975); target element is 'ComboBox' (Name='cb_tvrtkaID'); target property is 'NoTarget' (type 'Object') 如何解决此错误,以便显示名称但选择基础 ID? 一般来说,我建议用包含名称和 ID 的对象填充组合框。然后配置您的组合框以显示对象的名称。 <ComboBox x:Name="cb_tvrtkaID" Height="25" Margin="0,10,0,0" Loaded="cb_tvrtkaID_Loaded"> <ComboBox.ItemTemplate> <DataTemplate> <TextBlock Text="{Binding Name}" /> </DataTemplate> </ComboBox.ItemTemplate> </ComboBox> 组合框中的对象将由以下方式定义: class cbItem { public string Name{get;set;} public string ID; public cbItem(string name, string id) { Name=name; ID=id;} } 在您的代码中,您可以添加以下项目: //[...] while (reader.Read()) { cbItem myCbItem = new cbItem(reader["tvrtkaNaziv"].ToString(), reader["tvrtkaId"].ToString(); cb_tvrtkaID.Items.Add(myCbItem ); //from outside this method, you can find the item of your combobox whose ID property is x, simply by iterating or with the help of Linq cb_tvrtkaID.SelectedItem = myCbItem; } //[...] 每次使用 cb_tvrtkaID.Items.Clear() 从 SQL 加载时,不要忘记清理组合框项目。 例如,您可以使用绑定到 cbItem 列表和转换器来实现与上述相同的结果

回答 1 投票 0

样式中WPF数据绑定的时序问题

我想在 WPF 绑定中立即进行数据验证,因此我在 UpdateSourceTrigger 中使用了 PropertyChanged。同时我想检测LostFocus,这是我修改DB的时间。而且,我

回答 1 投票 0

使用 TemplateColumns 将 WPF DataGrid 绑定到 DataTable

我已经尝试了一切但一无所获,所以我希望有人能给我一个顿悟的时刻。 我根本无法获得成功提取数据网格中数据的绑定。 我有一个数据表,可以...

回答 3 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.