mvvm 相关问题

Model-View-ViewModel(MVVM)是一种架构设计模式,用于实现用户界面,通过其表示逻辑(其ViewModel)将UI(View)与其数据(Model)分开。

Jetpack Compose 中的渲染问题 - Android

我目前正在使用 Jetpack compose,我的项目中有用于依赖注入的 Koin。 当我将 viewModel 注入 @Composable 函数时,我从 Viewmodel 中观察到一些数据,但是

回答 2 投票 0

WPF:具有多个子视图的视图

我正在尝试在 WPF 中组合一个具有子视图的控件。 子视图的数量(可以增加或减少)从 1 到 10。我希望主视图能够显示这一点。 如果可以的话我愿意

回答 1 投票 0

带有绑定文本的 WPF 文本块不会滚动

我的 TextBlock 中的文本绑定到我的代码中的元素。但是,当我第一次打开窗口时,文本块完全是空的。当我添加文本时,我需要 ScrollViewer 来允许我滚动...

回答 2 投票 0

如何通过命令或转换器将 RowDetailsTemplate 绑定到 ViewModel 中的 bool 变量?

我想做那样的事情,但我不知道如何将 RowDetailsVisibilityMode 绑定到 MVVM 中 ViewModel 的 bool 变量。 当我选择行时,RowDetailsVisibility 会折叠,但如果我单击按钮

回答 1 投票 0

在 WPF 中使用 MVVM 处理 DataObject.Pasting 在 TextBox 中

对于文本框中的 DataObject.Pasting 事件,我想分配位于视图模型(MVVM 模式)中的 TextBoxPasting 函数。不幸的是,该代码不起作用。我使用图书馆:

回答 1 投票 0

在 WPF MVVM 中绑定图像

我在将图像绑定到我的视图模型时遇到一些问题。我终于摆脱了 XamlParseException,但图像没有出现。我什至在 ViewModel 中对图像进行了硬编码。有人可以看到吗...

回答 3 投票 0

dataGrid 中的嵌套列表绑定

我正在寻找一种解决方案,将嵌套列表绑定到 DataGrid 以将它们显示在单独的列中。 视图模型 公共类ParametersDataGridViewModel:ViewModelBase { 公共可观察集合<...

回答 1 投票 0

C# WPF Datagrid 在集合更改后不更新

我已经尝试解决这个问题好几天了,但似乎无法接近解决它,这让我来到这里。 我正在开发一个 MVVM WPF 项目,我正在尝试填充我的数据网格...

回答 2 投票 0

c# 查找模型中是否定义了变量

我目前正在开发一个 mvvm 应用程序,我一直在试图找出解决这个问题的方法。 所以我建立了一个这样的模型: 公共类变量 { /* 基本变量 */ 公开

回答 1 投票 0

ViewModel 中 TextBlock 的文本更改时运行动画

我正在按照 MVVM 模式制作 WPF 应用程序。我有一个按钮和文本块。 TextBlock 仅当其文本不为空时才显示。应用程序启动时,文本为空,文本块不是...

回答 3 投票 0

使用 .NET MAUI MVVM 绑定 Picker 上的属性

所以目前我的 contentPage 中有一个选择器,其中包含来自数据源“Patio”的多个区域,但是我正在尝试验证用户是否已选择此选择中的值...

回答 1 投票 0

动态加载用户控件并在其视图模型中设置属性(Prism WPF)

我有一个正在运行的 Prism WPF 应用程序,其主要目标是工厂操作员的 UI 以及与工厂机器的通信。 主 UI 视图 (MachineDashboard) 绑定到其视图模型 (

回答 1 投票 0

如何将模型注释绑定到.net MAUI XAML内容页中的控件?

我有如下模型 公开课人物 { [显示(名称=“人员姓名”,提示=“输入您的姓名”)] 公共字符串名称{获取;放; } } .net MAUI 内容页面...

回答 1 投票 0

MAUI 如何在 ViewModel 中访问 XAML 地图 VisibleRegion

我在 XAML 中有一个 MAUI 地图控件,我需要访问 ViewModel 中的 VisibleRegion 属性,但该属性不可绑定。谁能帮我想出一个解决方法如何访问这个

回答 1 投票 0

C#。 WPF。将函数分配给 Texbox 中的 DataObject.Pasting,保留 MVVM 模式

对于文本框中的 DataObject.Pasting 事件,我想分配位于视图模型(MVVM 模式)中的 TextBoxPasting 函数。不幸的是,该代码不起作用。我使用图书馆:

回答 1 投票 0

C# ViewModel 根据关系创建数据库记录时表单验证为空错误

试图了解 ViewModel,但当表单验证失败时,我收到一个 null 错误。 仅供参考,最初加载视图时不会发生错误。 好像找不到需要的数据...

回答 1 投票 0

异步初始化器 Swift MVVM 不工作

嗨,有人可以帮助我吗?我真的很难让这些初始化工作。由于任务我总是被 xcode 大喊大叫,所以并不是所有的属性都被初始化: ` 进口基金会 导入

回答 1 投票 0

WPF:如何创建呈现作为内容传递的控件的 UserControl

我正在尝试创建“Expander”用户控件,以方便隐藏(折叠)另一个用户界面。 现在我有这个: 扩展器用户控件 - XAML: 我正在尝试创建“Expander”用户控件,以方便隐藏(折叠)另一个 UI。 现在我有这个: 扩展用户控件 - XAML: <StackPanel> <TextBlock Text="{Binding Caption, ElementName=root}"/> <ToggleButton Content="{Binding ToggleText}" IsChecked="{Binding Expanded}"/> <ContentControl Visibility="{Binding Expanded, Converter={x:Static root:GlobalConverters.BoolToCollapsedVisibilityConverter}}" Content="{Binding Content, ElementName=root}" /> </StackPanel> 扩展用户控件 - 代码隐藏: public Expander() { InitializeComponent(); DataContext = new ViewModels.ExpanderViewModel(); } public static readonly DependencyProperty CaptionProperty = DependencyProperty.Register("Caption", typeof(string), typeof(Expander), new PropertyMetadata("unkown caption")); public string Caption { get => (string)GetValue(CaptionProperty); set => SetValue(CaptionProperty, value); } public new static readonly DependencyProperty ContentProperty = DependencyProperty.Register("ItemsSource", typeof(object[]), typeof(Expander), new PropertyMetadata(Array.Empty<EmptyContent>())); public new object[] Content { get => (object[])GetValue(ContentProperty); set => SetValue(ContentProperty, value); } 扩展器使用 - 查看: <DataTemplate DataType="{x:Type viewModels:OrdersListModeViewModel}"> <StackPanel> <controls:Expander Caption="Orders"> <ItemsControl ItemsSource="{Binding Orders}" /> </controls:Expander> </StackPanel> </DataTemplate> 我面临两个问题: 设计师正在显示此错误屏幕: 我尝试删除 obj 和 bin 目录,但没有帮助。 我在 Expander.xaml 中遇到绑定错误: 我不明白为什么“controls:Expander”元素内容不使用自己的数据上下文 正如已经建议的,您必须覆盖 ControlTemplate,以便控件的客户端可以使用 Content 属性来定义您想要托管的实际内容。然后您只需切换 ContentPresenter 的可见性即可。 要启用自定义,我建议创建一个扩展 HeaderedContentControl 的自定义控件,而不是使用 UserControl。 HeaderedContentControl 为您提供 Header 属性和 Content 属性 - 正是您想要的。 但是,因为已经有一个框架 Expander 控件(也扩展了 HeaderedContentControl),所以您应该扩展 Expander 并向现有控件添加其他功能: MyExpander.cs 每个控件绝不能依赖于其数据上下文。控件必须与数据上下文无关。如果您需要外部数据,则必须通过公共依赖属性请求它。内部元素将绑定到这些依赖属性以获取其数据。 这样,控件的客户端就可以完全控制 DataContext,并且能够通过数据绑定提供所需的数据 - 不会出现任何意外(例如,绑定失败,因为控件内部更改了 DataContext!)。 class MyExpander : Expander { static MyExpander() { // You can remove this if you only need to add behavioral functionality // but want to keep the original visuals and visual states. FrameworkElement.DefaultStyleKeyProperty.OverrideMetadata( typeof(MyExpander), new FrameworkPropertyMetadata(typeof(MyExpander))); } // TODO::Add new functionality to the existing Expander } Generic.xaml 示例模板。仅当从静态构造函数显式覆盖默认样式时才需要。您可以看到 ContentPresenter is collapsed or visible based on the Expander.IsExpanded` 属性如何: <Style TargetType="{x:Type local:ExportManagerDialogStyle}"> <Style.Resources> <BooleanToVisibilityConverter x:Key="BooleanToVisibilityConverter" /> </Style.Resources> <Setter Property="Template"> <Setter.Value> <ControlTemplate TargetType="{x:Type local:ExportManagerDialogStyle}"> <Border Background="{TemplateBinding Background}" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}"> <Grid> <Grid.RowDefinitions> <RowDefinition Height="Auto" /> <RowDefinition /> </Grid.RowDefinitions> <TextBlock Grid.Row="0" Text="{TemplateBinding Header}" /> <ContenPresenter Grid.Row="1" Visibility="{Binding RelativeSource={RelativeSource TemplatedParent}, Path=IsExpanded, Converter={StaticResourtce BooleanToVisibilityConverter}}" /> </Grid> </Border> </ControlTemplate> </Setter.Value> </Setter> </Style> MainWindow.xaml <Window> <!-- Either inherit or explicitly set the DataContext --> <MyExpander DataContext="{ExpanderViewModel}" Header="Expandable content" IsExpanded="True"> <ListBox /> </MyExpander>

回答 1 投票 0

WPF MVVM C# - 如何将按钮的文本绑定到 LINQ 表达式并使其动态更改?

我想将按钮文本绑定到 LINQ 表达式,如下所示: 公共字符串 CloseButtonText => Roles.Any(r => r.IsChanged) ? "保存并关闭" : "关闭"; ...但事实并非如此

回答 1 投票 0

MVVM 在视图模型之间同步属性

想象一下这种情况: 有视图模型 ViewModelA 和 ViewModelB。这两个模型都是值的数据源(事实来源),我们可以将其称为“选定的”。有一个“选定...

回答 1 投票 0

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