WPF 如何基于binding隐藏对应TabItem?

问题1:什么是WPF?

答: WPF 代表 Windows Presentation Foundation。这是对使用 WPF 的桌面应用程序 UI 的重新发明。除了像开发人员多年来一直在做的那样在“ Windows 窗体”上删除控件之外,WPF 还为应用程序开发提供了额外的快速推动力,包括丰富的用户界面、动画等等。

简而言之,使用 WPF 可以完成以下操作:

  • 可以轻松加载/播放音频和视频文件。
  • 可以提供平滑的图形效果,例如阴影和颜色渐变。
  • 可以使用可跨相同控件使用的共享样式,以提供相同的主题、皮肤和设计。
  • 变换对象,包括形状、控件和视频。
  • 可以创建和动画 3D 图形。
  • 可以轻松绘制缩放的矢量图形而不会出现锯齿状锯齿。

问题 2:WPF 中的内容对齐是什么?

Windows 8)可以轻松地将几乎任何属性绑定到任何元素或对象或数据源。您从某个属性或对象或依赖项属性中获取数据,并将其绑定到另一个依赖项属性或对象,或者直接绑定到一个元素。一句话,您可以在 XAML 中说“数据绑定是从一个对象获取信息到另一个对象并将其显示在用户界面的一个或多个元素中的过程”。

Binding 关键字如下图所示。这是 TextBox UI 控件与一些绑定属性源对象的绑定。

从后面的代码绑定到 WPF 元素。

在上面的示例中,使用某些绑定属性的代码后面的文本框和滑块。

绑定类的一些非常有用的属性

绑定到 XAML 元素时获取或设置绑定源对象的元素的名称。
设置绑定不返回值时使用的值。
设置 UI 元素的转换器。
获取或设置绑定源的源属性的路径。
通过指定绑定源的位置和相对于绑定目标的位置来获取或设置绑定源。
获取或设置未绑定到 WPF 元素时的绑定源。
获取或设置确定绑定中数据流方向的值。
获取或设置一个值,该值指示在将值从源传输到目标时是否引发源 Update 事件。

问题10:什么是触发器,WPF中有多少种触发器?

答:触发器通常用于样式或控件模板中。它触发任何被模板化的属性,并设置控件(或特定模板元素)的其他属性。例如,您将在IsMouseOver上使用 Trigger来响应鼠标悬停在控件上,并且 setter 可能会更新画笔以显示“”效果。

触发器在样式中用于对任何属性值的更改或事件触发执行操作。触发器在控件上创建视觉效果。通过使用触发器,我们可以改变框架元素的外观。

WPF支持五种类型的触发器;他们是:

示例 1:例如,假设您有一个矩形控件。您想在鼠标悬停在矩形控件上时更改该控件的背景颜色,并在鼠标离开时恢复。为此,您需要在后端类中编写矩形控件的鼠标悬停事件和鼠标离开事件,以更改矩形的颜色,如下面的代码所示。

在前面的代码中,您通过在两个不同的事件中编写代码来填充 Rectangle 控件的背景颜色,但是触发器通过减少代码来帮助克服这个问题。

答: Prism(WPF 和 Silverlight 的复合应用程序指南)旨在在 WPF 和 Silverlight 中构建具有单一代码库的应用程序。它有助于以模块化方式开发客户端应用程序,以便将大型应用程序的复杂性划分为更简单的模块。

架构: 下图显示了基本架构:

问题 16:WPF 中的附加属性是什么?

答:附加属性基本上是允许将值附加到任何随机对象的依赖属性。附加属性 (AP) 又是 XAML 中的一种依赖属性 (DP)。它们可用于接收自身更改的通知,因为它们是一种依赖属性,但这些属性的区别之一是它们没有在它们使用的同一类中定义,这与 DP 不同。

  • 定义附加属性的类型被设计为可以成为将为附加属性设置值的元素的父元素。然后该类型使用内部逻辑针对某个对象的树结构迭代其子对象,获取值并以某种方式对这些值进行操作。
  • 定义附加属性的类型将用作各种可能的父元素和内容模型的子元素。
  • 定义附加属性的类型表示服务。其他类型设置附加属性的值。然后,当在服务上下文中评估设置属性的元素时,使用服务类的内部逻辑获取附加属性值。

AP 被称为“附加”属性,因为我们可以将一些原本不期望从该控件获得的行为附加到该控件。

假设我有一个 TextBox 控件,我想扩展它的功能以接受字母和特殊符号,但不接受数值。

我在我的类 常规事件相同。

问题 22:WPF 中的旋转变换是什么?

创建两个具有相同位置和大小的矩形,接受第二个矩形旋转 45 度。

答:可扩展应用程序标记语言,发音为“zammel”,是一种用于实例化 .NET 对象的标记语言。虽然 XAML 是一种可以应用于许多不同问题领域的技术,但它在生活中的主要作用是构建 WPF 用户界面。

重要任务 XAML 执行如下,

连接事件处理程序:在大多数情况下附加事件处理程序,例如单击按钮在 Visual Studio 中很容易做到。然而,一旦我们了解了事件在 XAML 中是如何连接的,我们将能够创建更复杂的连接。

  • 定义资源:资源是我们在 XAML 中定义的对象,可以在标记内的各个地方重用。资源使我们能够集中和标准化格式,并创建非可视对象,例如模板和动画。
  • 定义控件模板: WPF 控件被设计为无外观的,这意味着我们可以用我们的自定义视觉效果代替标准外观。为此,我们必须创建自己的控件模板,它只不过是一个 XAML 标记块。
  • WPF XAML:包含描述 WPF 内容的元素,例如矢量图形、控件和文档。

答:Navigation Window 类是从Window 类派生而来的,所以它继承了Windows 的所有属性,如方法、属性和事件。导航窗口提供后退和前进按钮,用于导航到我们之前访问过或尚未访问过的页面。

创建导航分页应用程序:要创建基于导航窗口的应用程序,请使用导航窗口容器而不是窗口容器,如下图所示,源是导航窗口的属性并写下要设置的页面名称作为主页如下图所示:

问题27:什么是WPF子窗口?

答:ChildWindow 控件是一个轻量级的窗口,可以用作子窗口或弹出控件。当子窗口处于活动状态和模式时,父窗口会自动禁用。您可以将 ChildWindow 视为自定义模式或非模式对话框,您可以在其中放置所需的任何子控件。但是,ChildWindow 有几个常见的 Window 属性。

不要使用listbox,listbox只有selectchanged事件,没有点击事件,会导致,点相同菜单没有触发事件的情况

我要回帖

更多关于 wpf binding 的文章

 

随机推荐