WPF界面设计之设置Context

news/2025/3/29 23:11:07/文章来源:https://www.cnblogs.com/llxt/p/18794605

WPF之设置DataContext的三种方式

1.代码设置

在Window初始化时设置,如下:

public MainWindow()
{InitializeComponent();this.DataContext = new MainViewModel(); 
}

优点:简单方便。缺点:在xaml中没有代码提示

2.在xaml设置

如果viewmodel不在默认的命名空间中,需要先引入命名空间

<Window x:Class="wpf_textBlock.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:wpf_textBlock"mc:Ignorable="d"Title="MainWindow" Height="450" Width="800"><Window.DataContext> <local:MainViewModel></local:MainViewModel> </Window.DataContext>

这种方式最常见,推荐使用

3.使用d:DataContext指定

在设计时绑定,会有代码提示,不会影响运行时的数据。需要使用一或二方法绑定数据才会真的生效。

<Window x:Class="wpf_textBlock.MainWindow"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d="http://schemas.microsoft.com/expression/blend/2008"xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"xmlns:local="clr-namespace:wpf_textBlock"mc:Ignorable="d"d:DataContext="{d:DesignInstance local:MainViewModel}"Title="MainWindow" Height="450" Width="800">

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/906329.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

git log 进入命令行后 退出的几种方法

git log 是git 中很有用的命令,会列出git的最近的操作内容,并且用 冒号来作为提示行。在 Git 命令行中,如果你看到 :,通常是因为你进入了一个查看器界面,比如 git log 或 git diff。要退出这个界面,你可以按下 q 键。以下是一些常见的退出方法: 退出查看器界面: 按 q 键…

OpenAI的GPT-4o:普通人的AI秘书来了

1. 惊艳时刻:AI比你想象的更"人性" 早餐时,张三正埋头刷推送,一篇关于OpenAI发布GPT-4o的文章瞬间点燃了他的好奇心。这个AI简直是科技圈的惊雷!竟然可以像真人一样说话、理解语境、实时交互,甚至能读懂你的情绪。这哪里还是以前那个机械的聊天机器人,简直就是…

搭建Node.js环境

Node.js安装配置详细教程 1.安装前检查自己电脑上是否安装node.js (1)打开终端:Win + R (2)输入node -v来检查是否安装node(3)显示’node’不是内部或外部命令,说明未安装node 2.官网下载3.双击安装:这里不要勾选,然后安装即可 4.验证node.js是否安装成功 (1)终端环…

Windows 提权-手工枚举

本文通过 Google 翻译 Manual Enumeration – Windows Privilege Escalation 这篇文章所产生,本人仅是对机器翻译中部分表达别扭的字词进行了校正及个别注释补充。导航0 前言 1 用户枚举1.1 当前用户 1.2 其他用户2 系统枚举 3 软件枚举 4 网络枚举 5 防病毒/防火墙枚举 6 我的…

424. 替换后的最长重复字符(滑动窗口)

给你一个字符串 s 和一个整数 k 。你可以选择字符串中的任一字符,并将其更改为任何其他大写英文字符。该操作最多可执行 k 次。 在执行上述操作后,返回 包含相同字母的最长子字符串的长度。 示例 1: 输入:s = "ABAB", k = 2 输出:4 解释:用两个A替换为两个B,反…

20242942 2024-2025-2 《网络攻防实践》实验四

1.实验内容 通过本次实验,在搭建的实验环境中完成TCP/IP协议栈重点协议的攻击实验,包括ARP缓存欺骗攻击、ICMP重定向攻击、SYN Flood攻击、TCP RST攻击、TCP会话劫持攻击,并熟悉wireshark、netwox和ettercap等软件的操作。 2.实验过程 实验1 ARP****缓存欺骗攻击 本实验中Ka…

二叉树相关题

1.二叉树最大深度 思路: 如果节点为空 (root === null),表示这一部分的深度是 0。 如果节点不为空,递归地计算左子树和右子树的深度,然后返回左右子树深度的最大值加上 1(表示当前节点的深度) 代码实现:function maxDepth(root) {// 基本情况:如果节点为空,深度为 0if…

BSRN:蓝图可分离残差网络实现高效图像超分辨率

单图像超分辨率(SISR)的最新进展已经实现了非凡的性能,但计算成本太高,无法应用于边缘设备。为了缓解这个问题,已经提出了许多新颖有效的解决方案。**具有注意力机制的卷积神经网络(CNN)因其效率和有效性而受到越来越多的关注**。但是,卷积运算中仍然存在冗余。在本文中…

给Web开发者的HarmonyOS指南01-文本样式

给Web开发者的HarmonyOS指南01-文本样式 本系列教程适合 HarmonyOS 初学者,为那些熟悉用 HTML 与 CSS 语法的 Web 前端开发者准备的。本系列教程会将 HTML/CSS 代码片段替换为等价的 HarmonyOS/ArkUI 代码。页面结构 HTML 与 ArkUI 在 Web 开发中,HTML 文档结构由<html>…

给Web开发者的HarmonyOS指南02-布局样式

给Web开发者的HarmonyOS指南02-布局样式 本系列教程适合鸿蒙 HarmonyOS 初学者,为那些熟悉用 HTML 与 CSS 语法的 Web 前端开发者准备的。本系列教程会将 HTML/CSS 代码片段替换为等价的 HarmonyOS/ArkUI 代码。布局基础对比 在Web开发中,我们使用CSS来控制元素的布局和样式。…

鸿蒙特效教程09-深入学习animateTo动画

鸿蒙特效教程09-深入学习animateTo动画本教程将带领大家从零开始,一步步讲解如何讲解 animateTo 动画,并实现按钮交互效果,使新手也能轻松掌握。效果演示 通过两个常见的按钮动画效果,深入学习 HarmonyOS Next 的 animateTo 动画,以及探索最佳实践。缩放按钮效果 抖动按钮…