将两个数据/信息源绑定在一起并使它们保持同步的一般技术。
WPF MVVM 将 DataGrid 绑定到 IEnumerable 会导致 Int32 绑定错误
我正在编写一个简单的 WPF 接口来使用库组件检索 SwiftMessages。我无法更改组件。我有一个应该显示消息的 DataGrid,每行一条消息。 我唯一的...
我无法处理以下错误: System.InvalidOperationException:“ServiceEndpoint 上的 CustomBinding 中没有协商‘ZQM_XPortType’的 TransportBindingElement。每个
WPF 自定义用户控件 - 数据绑定不更新 DataContext 的属性
我正在封装一个我编写的快速脏水印文本框,以便我可以在我的应用程序中重用它:BetterTextBox。除了使用新的更新底层 DataContext 之外,一切都在其中工作......
我有以下 ListView,我希望将其绑定到我的视图模型中的自定义列表: 我有以下 ListView,我希望将其绑定到我的视图模型中的自定义列表: <ListView x:Name="listviewPlayers" ItemsSource="{Binding Players}" Height="200"> <ListView.View> <GridView> <GridViewColumn Width="235"> <GridViewColumn.Header> <Label Grid.Column="2" Content ="Name" Foreground="Black" FontSize="10"></Label> </GridViewColumn.Header> </GridViewColumn> <GridViewColumn Width="235"> <GridViewColumn.Header> <Label Grid.Column="1" Content ="Score" Foreground="Black" FontSize="10"></Label> </GridViewColumn.Header> </GridViewColumn> <GridViewColumn Width="235"> <GridViewColumn.Header> <Label Grid.Column="0" Content ="Games" Foreground="Black" FontSize="10"></Label> </GridViewColumn.Header> </GridViewColumn> </GridView> </ListView.View> <ListView.ItemTemplate> <DataTemplate DataType="local:MainPageViewModel"> <Grid Height="25"> <Grid.ColumnDefinitions> <ColumnDefinition /> <ColumnDefinition /> <ColumnDefinition /> </Grid.ColumnDefinitions> <Label Content="{Binding Name}" FontWeight="Bold" FontSize="10" Foreground="Black"> </Label> <Label Grid.Column="1" Content="{Binding CurrentScore}" FontSize="10" HorizontalContentAlignment="Center" Foreground="Black"> </Label> <Label Grid.Column="2" Content="{Binding GamesWon}" HorizontalContentAlignment="Center" FontSize="10" Foreground="Black"> </Label> </Grid> </DataTemplate> </ListView.ItemTemplate> </ListView> 在我的视图模型中我有玩家: public ObservableCollection<Player> Players { get { return players; } set { players = value; foreach (Player p in players) { PlayerNames.Add(p.Name); } PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Players")); } } 玩家看起来像这样: public class Player : INotifyPropertyChanged { public event PropertyChangedEventHandler? PropertyChanged; private string name = ""; public string Name { get { return name; } set { name = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("Name")); } } private string currentScore = "0"; public string CurrentScore { get { return currentScore; } set { currentScore = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("CurrentScore")); } } private string gamesWon = "0"; public string GamesWon { get { return gamesWon; } set { gamesWon = value; PropertyChanged?.Invoke(this, new PropertyChangedEventArgs("GamesWon")); } } 我的 ListView DataTemplate 绑定做错了什么?我已经在主窗口上设置了这个: d:DataContext="{d:DesignInstance Type=local:MainPageViewModel}" 此时 ListView 看起来像这样: 如有任何建议,我们将不胜感激。 谢谢, 迈克 您不得设置 ListView 的 ItemTemplate 属性。 改为设置 GridViewColumns 的 DisplayMemberBinding 属性。 <ListView x:Name="listviewPlayers" ItemsSource="{Binding Players}" Height="200"> <ListView.View> <GridView> <GridViewColumn Width="235" Header="Name" DisplayMemberBinding="{Binding Name}"/> <GridViewColumn Width="235" Header="Games" DisplayMemberBinding="{Binding CurrentScore}"/> <GridViewColumn Width="235" Header="Score" DisplayMemberBinding="{Binding GamesWon}"/> </GridView> </ListView.View> </ListView>
我有一个 C++ Qt 应用程序,其顶行容器由 9 个图标位置组成。当前每个图标位置都有一个图标源 (URL)、一个用于切换开/关的布尔值以及一个会更改的图标状态...
WPF 中的 ListView 不显示 ViewModel 静态数据
我正在创建一个小示例,以在 WPF 页面上使用 ViewModel 显示枚举数据。但不知何故它没有显示。 公共类 GameParticipants:IGameParticipants { 公共 int Id{ 得到;放; }
.NET Maui XAML 数据绑定在 Int32 和 Double 上失败
我有一个 .NET MAUI 应用程序,它使用数据绑定并尝试将条目字段中的值格式化为货币。 该属性是双精度的,并且绑定确实有效,但是我收到 XAML 数据绑定失败。 不...
我想在 CarouselView 中使用多个 CollectionView 的绑定。然而,如何才能做到这一点呢? 从视觉上看,我正在尝试类似以下的操作: <--CarouselView: Questions---------...
我正在使用 WinUI 3 平台用 C# 编写一个应用程序。 作为这个世界的新手,我的出发点是通过 Template Studio 创建的模板。 我还使用 MVVM 社区工具包。 我正打算给你...
我无法让 WPF 中的双向绑定正常工作。 我得到的是一个名为 UserCache 的类,它有一个名为“Current”的属性。此类的对象被放置在外观类中,...
我想通过以下方式简化我的编码 这是我的代码。 我<- 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...
我在阅读有关编译绑定的 MS 文档时遇到了这一点,现在它让我对如何在自定义控件的 ContentView 上进行数据绑定感到困惑: 重要的 编译绑定...
我不完全理解绑定上下文在毛伊岛是如何工作的。我有使用此数据网格的主页: 我不完全理解绑定上下文在毛伊岛是如何工作的。我有使用此数据网格的主页: <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 分配给自身,并且几乎可以在任何地方使用此控件
我从 WP7 开始,我正在尝试更改 TexBlock 的颜色和其他属性。它包含在列表框中并绑定到集合。我正在寻找像“OnDataBound”这样的方法。价值...
这里有什么方法可以绑定<%# 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 %>
无法将 html 的输入绑定到 ASP.NET Core 模型
我正在尝试创建一个订单实体。为此,我创建了一个模型、控制器和视图,但是当我尝试在视图中编写某些内容时,没有任何内容传输到 post 方法,并且我得到了模型...
正如标题所述,我正在尝试实现一个 Fluentsearch 输入框,该输入框具有一个 oninput 事件,每次用户在输入中键入内容时都会触发 SearchEmployees 方法。不知道什么原因...
将 DataSource 属性添加到自定义 WinForms 控件
我想将复杂的数据绑定添加到我的自定义 winforms 控件中,因此我可以执行以下操作: myControl.DisplayMember = "名称"; myControl.ValueMember = "名称"; myControl.DataSource = 新列表<
将 Collection 类型的 AttachedProperty 绑定到 TemplatedParent
我想创建一个附加属性来保存 MenuItem 对象的集合。这些将在我的 GroupBox 自定义 ControlTemplate 中使用。在该 ControlTemplate 中,我想使用我的自定义
我们有一个人可以拥有多种技能(力量、智力和运气)。在我们的 WPF 应用程序中,我们希望将这些技能绑定到复选框。当一个人的列表中包含这些技能时,那么...