【WPF.NET开发】数据绑定应用场景

目录

1、实现属性更改通知

示例

2、双向绑定​​​更新源

示例

3、对分层数据使用主-从模式

示例

4、对分层 XML 数据使用主-从模式

示例

5、绑定两个控件的属性

示例

6、创建和绑定到 ObservableCollection

示例

7、使用 XMLDataProvider 和 XPath 查询绑定到 XML 数据

示例


1、实现属性更改通知

若要支持 OneWay 或 TwoWay 绑定,从而使绑定目标属性能够自动反映绑定源的动态更改。

示例

若要实现 INotifyPropertyChanged,需要声明 PropertyChanged 事件并创建 OnPropertyChanged 方法。 然后,对于每个需要更改通知的属性,只要进行了更新,就可以调用 OnPropertyChanged

using System.ComponentModel;
using System.Runtime.CompilerServices;namespace SDKSample
{// This class implements INotifyPropertyChanged// to support one-way and two-way bindings// (such that the UI element updates when the source// has been changed dynamically)public class Person : INotifyPropertyChanged{private string name;// Declare the eventpublic event PropertyChangedEventHandler PropertyChanged;public Person(){}public Person(string value){this.name = value;}public string PersonName{get { return name; }set{name = value;// Call OnPropertyChanged whenever the property is updatedOnPropertyChanged();}}// Create the OnPropertyChanged method to raise the event// The calling member's name will be used as the parameter.protected void OnPropertyChanged([CallerMemberName] string name = null){PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(name));}}
}

2、双向绑定​​​更新源

本示例介绍了如何使用 UpdateSourceTrigger 属性控制绑定源更新的执行时间。 本主题使用 TextBox 控件作为示例。

示例

TextBox.Text 属性的 UpdateSourceTrigger 默认值为 LostFocus。 这意味着如果应用程序的 TextBox 包含数据绑定 TextBox.Text 属性,则直到 TextBox 失去焦点(例如,将鼠标移到 TextBox 外单击时),键入到 TextBox 中的文本才会更新源。

如果希望在键入过程中更新源,请将该绑定的 PropertyChanged 设置为 UpdateSourceTrigger。 在下面的示例中,突出显示的代码行显示 TextBox 和 TextBlock 的 Text 属性都绑定到相同的源属性。 TextBox 绑定的 UpdateSourceTrigger 属性设置为 PropertyChanged。

<Windowxmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:src="clr-namespace:SDKSample"xmlns:system="clr-namespace:System;assembly=mscorlib"SizeToContent="WidthAndHeight"Title="Simple Data Binding Sample"><Window.Resources><ObjectDataProvider x:Key="myDataSource" ObjectType="{x:Type src:Person}"><ObjectDataProvider.ConstructorParameters><system:String>Joe</system:String></ObjectDataProvider.ConstructorParameters></ObjectDataProvider><Style TargetType="{x:Type Label}"><Setter Property="DockPanel.Dock" Value="Top"/><Setter Property="FontSize" Value="12"/></Style><Style TargetType="{x:Type TextBox}"><Setter Property="Width" Value="100"/><Setter Property="Height" Value="25"/><Setter Property="DockPanel.Dock" Value="Top"/></Style><Style TargetType="{x:Type TextBlock}"><Setter Property="Width" Value="100"/><Setter Property="Height" Value="25"/><Setter Property="DockPanel.Dock" Value="Top"/></Style></Window.Resources><Border Margin="25" BorderBrush="Aqua" BorderThickness="3" Padding="8"><DockPanel Width="200" Height="100"><Label>Enter a Name:</Label><TextBox><TextBox.Text><Binding Source="{StaticResource myDataSource}" Path="Name"UpdateSourceTrigger="PropertyChanged"/></TextBox.Text></TextBox><Label>The name you entered:</Label><TextBlock Text="{Binding Source={StaticResource myDataSource}, Path=Name}"/></DockPanel></Border>
</Window>

因此,TextBlock 所显示的文本将与用户输入到 TextBox 中的文本相同(因为源发生更改),如该示例的以下屏幕快照所示:

data-binding-simple-binding-sample.png?view=netframeworkdesktop-4.8

如果拥有一个对话框或用户可编辑的窗体,并且希望将源更新延迟到用户完成字段编辑并单击“确定”之后,可以将绑定的 UpdateSourceTrigger 值设置为 Explicit,如下面的示例所示:

<TextBox Name="itemNameTextBox"Text="{Binding Path=ItemName, UpdateSourceTrigger=Explicit}" />

如果将 UpdateSourceTrigger 值设置为 Explicit,则仅当应用程序调用 UpdateSource 方法时,该源值才会发生更改。 下面的示例演示如何为 itemNameTextBox 调用 UpdateSource:

// itemNameTextBox is an instance of a TextBox
BindingExpression be = itemNameTextBox.GetBindingExpression(TextBox.TextProperty);
be.UpdateSource();

 备注

此方法也可用于其他控件的属性,但请记住,其他大多数属性的默认 UpdateSourceTrigger 值为 PropertyChanged。

 备注

UpdateSourceTrigger 属性用于处理源更新,因此仅适用于 TwoWay 或 OneWayToSource 绑定。 若要使 TwoWay 和 OneWayToSource 绑定生效,源对象需要提供属性更改通知。 

3、对分层数据使用主-从模式

此示例演示了如何实现大纲-详细信息方案。

示例

在此示例中,LeagueList 是 Leagues 的集合。 每个 League 都有一个 Name 和一个 Divisions 集合,每个 Division 都有一个名称和一个 Teams 集合。 每个 Team 都有一个团队名称。

<Windowxmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"xmlns:src="clr-namespace:SDKSample"Width="400" Height="180"Title="Master-Detail Binding" Background="Silver"><Window.Resources><src:LeagueList x:Key="MyList"/>
  <DockPanel DataContext="{Binding Source={StaticResource MyList}}"><StackPanel><Label>My Soccer Leagues</Label><ListBox ItemsSource="{Binding}" DisplayMemberPath="Name"IsSynchronizedWithCurrentItem="true"/></StackPanel><StackPanel><Label Content="{Binding Path=Name}"/><ListBox ItemsSource="{Binding Path=Divisions}" DisplayMemberPath="Name"IsSynchronizedWithCurrentItem="true"/></StackPanel><StackPanel><Label Content="{Binding Path=Divisions/Name}"/><ListBox DisplayMemberPath="Name" ItemsSource="{Binding Path=Divisions/Teams}"/></StackPanel></DockPanel>
</Window>

下面是该示例的一个屏幕快照。 DivisionsListBox 自动跟踪 LeaguesListBox 中的所选项并显示相应的数据。 TeamsListBox 跟踪其他两个 ListBox 控件中的所选项。

databinding-master-detail-scenario.png?view=netframeworkdesktop-4.8

此示例中有两点需要注意:

  1. 三个 ListBox 控件绑定到同一个源。 设置了绑定的 Path 属性以指定希望 ListBox 显示的数据级别。

  2. 必须在要跟踪其所选项的 ListBox 控件上将 IsSynchronizedWithCurrentItem 属性设置为 true。 设置此属性可确保所选项始终设置为 CurrentItem。 或者,如果 ListBox 从 CollectionViewSource 获取数据,它会自动同步所选项和货币。

4、对分层 XML 数据使用主-从模式

此示例演示了如何使用 XML 数据实现大纲-详细信息方案。

示例

在此示例中,数据来自文件 League.xml。 请注意,第三个 ListBox 控件如何通过绑定到其 SelectedValue 属性跟踪第二个 ListBox 控件中的选择更改。

<Window x:Class="SDKSample.Window1"xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Title="Multiple ListBox Binding Sample"Width="400" Height="200"Background="Cornsilk"><Window.Resources><XmlDataProvider x:Key="MyList" Source="Data\Leagues.xml"XPath="Leagues/League"/><DataTemplate x:Key="dataTemplate"><TextBlock Text="{Binding XPath=@name}" /></DataTemplate>
    </Window.Resources><DockPanel DataContext="{Binding Source={StaticResource MyList}}"><StackPanel><Label>My Soccer Leagues</Label><ListBox ItemsSource="{Binding}"ItemTemplate="{StaticResource dataTemplate}"IsSynchronizedWithCurrentItem="true"/></StackPanel><StackPanel><Label Content="{Binding XPath=@name}"/><ListBox Name="divisionsListBox"ItemsSource="{Binding XPath=Division}"ItemTemplate="{StaticResource dataTemplate}"IsSynchronizedWithCurrentItem="true"/></StackPanel><StackPanel><Label Content="{Binding XPath=@name}"/><ListBox DataContext="{Binding ElementName=divisionsListBox,Path=SelectedItem}"ItemsSource="{Binding XPath=Team}"ItemTemplate="{StaticResource dataTemplate}"/></StackPanel></DockPanel>
</Window>

5、绑定两个控件的属性​​​​​​​

此示例演示如何使用 ElementName 属性将一个已实例化控件的属性绑定到另一个控件的属性。

示例

下面的示例演示如何将 Canvas 的 Background 属性绑定到 ComboBox 的 SelectedItem.Content 属性:

<Windowxmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Width="460" Height="200"Title="Binding the Properties of Two Controls"><Window.Resources><Style TargetType="TextBlock"><Setter Property="FontSize" Value="16"/><Setter Property="FontWeight" Value="Bold"/><Setter Property="DockPanel.Dock" Value="Top"/><Setter Property="HorizontalAlignment" Value="Center"/></Style><Style TargetType="Canvas"><Setter Property="Height" Value="50"/><Setter Property="Width" Value="50"/><Setter Property="Margin" Value="8"/><Setter Property="DockPanel.Dock" Value="Top"/></Style><Style TargetType="ComboBox"><Setter Property="Width" Value="150"/><Setter Property="Margin" Value="8"/><Setter Property="DockPanel.Dock" Value="Top"/></Style></Window.Resources><Border Margin="10" BorderBrush="Silver" BorderThickness="3" Padding="8"><DockPanel><TextBlock>Choose a Color:</TextBlock><ComboBox Name="myComboBox" SelectedIndex="0"><ComboBoxItem>Green</ComboBoxItem><ComboBoxItem>Blue</ComboBoxItem><ComboBoxItem>Red</ComboBoxItem></ComboBox><Canvas><Canvas.Background><Binding ElementName="myComboBox" Path="SelectedItem.Content"/></Canvas.Background></Canvas></DockPanel></Border>
</Window>

当此示例呈现时,应如下所示:

data-binding-bind-background-canvas.png?view=netframeworkdesktop-4.8

 备注

绑定目标属性(在本例中为 Background 属性)必须是一个依赖属性。 

6、创建和绑定到 ObservableCollection

本示例演示如何创建和绑定到派生自 ObservableCollection<T> 类的集合,该类是一个在添加或移除项时提供通知的集合类。

示例

下面的示例演示 NameList 集合的实现:

public class NameList : ObservableCollection<PersonName>  
{  public NameList() : base()  {  Add(new PersonName("Willa", "Cather"));  Add(new PersonName("Isak", "Dinesen"));  Add(new PersonName("Victor", "Hugo"));  Add(new PersonName("Jules", "Verne"));  }  }  public class PersonName  {  private string firstName;  private string lastName;  public PersonName(string first, string last)  {  this.firstName = first;  this.lastName = last;  }  public string FirstName  {  get { return firstName; }  set { firstName = value; }  }  public string LastName  {  get { return lastName; }  set { lastName = value; }  }  }  

可以根据使数据可用于 XAML 中的绑定
中的说明,按照与其他公共语言运行时 (CLR) 对象相同的方式使集合可用于绑定。 例如,可以在 XAML 中实例化该集合,并将该集合指定为一个资源,如下所示:

<Window  xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"  xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"  xmlns:c="clr-namespace:SDKSample"  x:Class="SDKSample.Window1"  Width="400"  Height="280"  Title="MultiBinding Sample">  <Window.Resources>  <c:NameList x:Key="NameListData"/>  ...  </Window.Resources>  

然后可以绑定到该集合:

<ListBox Width="200"  ItemsSource="{Binding Source={StaticResource NameListData}}"  ItemTemplate="{StaticResource NameItemTemplate}"  IsSynchronizedWithCurrentItem="True"/>  

此处没有显示 NameItemTemplate 的定义。

 备注

集合中的对象必须满足
绑定源概述中所述的要求。 特别是,如果使用 OneWay 或 TwoWay(例如,希望 UI 在源属性发生显著变化时进行更新),则必须实现一个适当的“属性已更改”通知机制,如 INotifyPropertyChanged 接口。

7、使用 XMLDataProvider 和 XPath 查询绑定到 XML 数据

此示例介绍如何使用 XmlDataProvider 绑定到 XML 数据。

使用 XmlDataProvider,在应用程序中可通过数据绑定访问的基础数据可以是 XML 节点的任意树。 也就是说,XmlDataProvider 提供一种将 XML 节点的任意树用作绑定源的简便方式。

示例

在以下示例中,数据作为 XML 数据岛直接嵌入 Resources 部分。 XML 数据岛必须包装在 <x:XData> 标记中,并始终具有一个单一根节点,在本示例中根节点为 Inventory。

 备注

XML 数据的根节点具有一个将 XML 命名空间设置为空字符串的 xmlns 属性。 将 XPath 查询应用到 XAML 页中内联的数据岛时,需要此属性。 在此内联情况下,XAML 以及数据岛会继承 System.Windows 命名空间。 因此,需要将命名空间设置为空白,以防止 XPath 查询被 System.Windows 命名空间限定而误导查询。

<StackPanelxmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"Background="Cornsilk"><StackPanel.Resources><XmlDataProvider x:Key="InventoryData" XPath="Inventory/Books"><x:XData><Inventory xmlns=""><Books><Book ISBN="0-7356-0562-9" Stock="in" Number="9"><Title>XML in Action</Title><Summary>XML Web Technology</Summary></Book><Book ISBN="0-7356-1370-2" Stock="in" Number="8"><Title>Programming Microsoft Windows With C#</Title><Summary>C# Programming using the .NET Framework</Summary></Book><Book ISBN="0-7356-1288-9" Stock="out" Number="7"><Title>Inside C#</Title><Summary>C# Language Programming</Summary></Book><Book ISBN="0-7356-1377-X" Stock="in" Number="5"><Title>Introducing Microsoft .NET</Title><Summary>Overview of .NET Technology</Summary></Book><Book ISBN="0-7356-1448-2" Stock="out" Number="4"><Title>Microsoft C# Language Specifications</Title><Summary>The C# language definition</Summary></Book></Books><CDs><CD Stock="in" Number="3"><Title>Classical Collection</Title><Summary>Classical Music</Summary></CD><CD Stock="out" Number="9"><Title>Jazz Collection</Title><Summary>Jazz Music</Summary></CD></CDs></Inventory></x:XData></XmlDataProvider></StackPanel.Resources><TextBlock FontSize="18" FontWeight="Bold" Margin="10"HorizontalAlignment="Center">XML Data Source Sample</TextBlock><ListBoxWidth="400" Height="300" Background="Honeydew"><ListBox.ItemsSource><Binding Source="{StaticResource InventoryData}"XPath="*[@Stock='out'] | *[@Number>=8 or @Number=3]"/></ListBox.ItemsSource><!--Alternatively, you can do the following. --><!--<ListBox Width="400" Height="300" Background="Honeydew"ItemsSource="{Binding Source={StaticResource InventoryData},XPath=*[@Stock\=\'out\'] | *[@Number>\=8 or @Number\=3]}">--><ListBox.ItemTemplate><DataTemplate><TextBlock FontSize="12" Foreground="Red"><TextBlock.Text><Binding XPath="Title"/></TextBlock.Text></TextBlock></DataTemplate></ListBox.ItemTemplate></ListBox>
</StackPanel>

如此示例中所示,若要使用属性语法创建相同的绑定声明,必须对特殊字符进行正确转义。 

运行此示例时,ListBox 将显示以下项。 这些项为 Books 下所有元素的 Title,其中 Stock 值为“out”,Number 值为 3 或者大于或等于 8。 请注意,没有返回任何 CD 项,因为 XmlDataProvider 上设置的 XPath 值表示只应公开 Books 元素(本质上是设置筛选器)。

xpath-example-listbox-details.png?view=netframeworkdesktop-4.8

此示例显示书名,因为 DataTemplate 中的 TextBlock 绑定的 XPath 设为“Title”。 如果希望显示属性值,如 ISBN,则应将 XPath 值设置为“@ISBN”。

WPF 中的 XPath 属性使用 XmlNode.SelectNodes 方法处理。 可以修改 XPath 查询以获取不同的结果。 以下是上一示例中对绑定 ListBox 执行 XPath 查询的部分示例:

  • XPath="Book[1]" 将返回第一个 Book 元素(“XML in Action”)。 请注意,XPath 索引从 1 而不是从 0 开始。

  • XPath="Book[@*]" 将返回带有任意属性的所有 Book 元素。

  • XPath="Book[last()-1]" 将返回第二个至最后一个 Book 元素(“Introducing Microsoft .NET”)。

  • XPath="*[position()>3]" 将返回除前 3 个元素之外的所有 Book 元素。

当运行 XPath 查询时,它将返回 XmlNode 或 XmlNode 列表。 XmlNode 是公共语言运行时 (CLR) 对象,这意味着可以使用 Path 属性绑定到公共语言运行时 (CLR) 属性。 再以上述示例为例。 如果该示例的其余部分保持不变,将 TextBlock 绑定更改为下面的值,则将在 ListBox 中看到返回的 XmlNode 的名称。 在此情况下,所有返回节点的名称为“Book”。

<TextBlock FontSize="12" Foreground="Red"><TextBlock.Text><Binding Path="Name"/></TextBlock.Text>
</TextBlock>

在某些应用程序中,将 XML 作为 XAML 页的源内的数据岛嵌入可能很不方便,因为在编译时必须知道该数据的确切内容。 因此,还支持从外部 XML 文件获取该数据,如下面的示例所示:

<XmlDataProvider x:Key="BookData" Source="data\bookdata.xml" XPath="Books"/>

如果 XML 数据驻留在远程 XML 文件中,可以通过将适当的 URL 分配给 Source 属性来定义对该数据的访问,如下所示:

<XmlDataProvider x:Key="BookData" Source="http://MyUrl" XPath="Books"/>  

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

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

相关文章

喜报!酷克数据携手中移在线入选2023大数据“星河”数据库优秀案例

12月20日-21日&#xff0c;由中国信通院、中国通信标准化协会主办&#xff0c;中国通信标准化协会大数据技术标准推进委员会承办的“2023数据资产管理大会”在京召开。 在会上&#xff0c;第七届大数据“星河&#xff08;Galaxy&#xff09;”案例评选结果正式公布。中移在线服…

Local Binary Convolutional Neural Networks (LBCNN)

论文&#xff1a;https://arxiv.org/abs/1608.06049 代码&#xff1a;GitHub - juefeix/lbcnn.torch: Torch implementation of CVPR17 - Local Binary Convolutional Neural Networks http://xujuefei.com/lbcnn.html 摘要&#xff1a; 我们提出了局部二值卷积(LBC)&#x…

【ScienceAI Weekly】DeepMind最新研究再登Nature;我国首个自研地球系统模型开源;谷歌推出医疗保健模型

AI for Science 的新成果、新动态、新视角抢先看—— * DeepMind 最新研究 FunSearch 登 Nature * 谷歌推出医疗保健行业模型 MedLM * 晶泰科技冲刺港交所&#xff0c;AI机器人赋能 AI for Science * GHDDI 与微软研究院科学智能中心达成合作 * 用于地震学处理分析的 AI 工…

【华为机试】2023年真题B卷(python)-分月饼

一、题目 题目描述&#xff1a; 中秋节公司分月饼&#xff0c;m个员工&#xff0c;买了n个月饼&#xff0c;m<n&#xff0c;每个员工至少分1个月饼&#xff0c;但可以分多个&#xff0c;单人份到最多月饼的个数为Max1&#xff0c;单人分到第二多月饼的个数是Max2&#xff0c…

python(上半部分)

第一部分 1、input()语句默认结果是字符串 2、type()可以判断变量的类型 3、input()输出语句 &#xff08;默认为字符串类型&#xff09; 4、命名规则&#xff1a;中文、英文、数字、_&#xff0c;数字不可开头&#xff0c;大小写敏感。 5、 %s&#xff1a;将内容转换成…

Java并发(二十一)----wait notify介绍

1、小故事 - 为什么需要 wait 由于条件不满足&#xff08;没烟干不了活啊&#xff0c;等小M把烟送过来&#xff09;&#xff0c;小南不能继续进行计算 但小南如果一直占用着锁&#xff0c;其它人就得一直阻塞&#xff0c;效率太低 于是老王单开了一间休息室&#xff08;调…

vue场景 无分页列表条件过滤,子组件多选来自父组件的列表

日常开发中&#xff0c;经常会遇到下面场景&#xff1a; 页面加载一个无分页列表&#xff0c;同时工具栏设置多个条件可对列表过滤的场景(典型的就是关键字模糊查询)父组件传给子组件列表&#xff0c;子组件中需要多选列表多选&#xff0c;选择结果返回父组件 1 无分页列表过…

行业首台7英寸彩屏,掌阅iReader Color 7 发布

12月22日消息&#xff0c;掌阅iReader 继2021年发布 C6 Pro 后&#xff0c;时隔2年再次推出彩屏系列新产品 Color 7&#xff0c;该产品为彩色电子纸智能阅读本&#xff0c;采用 Kaleido3 新一代彩色电子纸技术&#xff0c;黑白像素密度为 300PPI &#xff0c;彩色像素密度为 15…

并发程序设计--D1进程的创建和回收

进程和程序内容区别 进程包含的内容&#xff1a; BSS段&#xff1a;存放程序中未初始化的全局变量 数据段&#xff1a;已初始化的全局变量 代码段&#xff1a;程序执行代码 堆&#xff08;heap&#xff09;&#xff1a;malloc等函数分配内存 栈(stack)&#xff1a;局部变量…

让学习成为一种生活方式:数字化助力终身学习

12月以来,“让学习成为一种生活方法”全民终身学习活动在北京、安徽、湖北、湖南、云南等地密集启动,而依托数字化赋能终身学习成为共同关键词。 近年来,随着教育现代化体系的不断深入推进,数字化转型成为建设高质量终身学习体系的重要“推动力”,数字技术与大数据的应用汇聚了…

2023新能源汽车,吵得越凶,卖得越多

作者 | 辰纹 来源 | 洞见新研社 2023年的汽车行业很残酷&#xff0c;合资大败退&#xff0c;市场份额被自主品牌大幅渗透&#xff0c;三菱退出中国市场&#xff0c;成为真实写照。 新能源车企&#xff0c;威马领头&#xff0c;天际、自游家NIUTRON、恒驰、爱驰、雷丁等造车新…

如何学习VBA_3.2.10:人机对话的实现

我给VBA的定义&#xff1a;VBA是个人小型自动化处理的有效工具。利用好了&#xff0c;可以大大提高自己的劳动效率&#xff0c;而且可以提高数据处理的准确度。我推出的VBA系列教程共九套和一部VBA汉英手册&#xff0c;现在已经全部完成&#xff0c;希望大家利用、学习。 如果…

智能优化算法应用:基于斑马算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于斑马算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于斑马算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.斑马算法4.实验参数设定5.算法结果6.参考文献7.MA…

算法导论复习(三)

这一次我们主要复习的是递归式求解 递归式求解主要有的是三种方法&#xff1a; 代换法递归树法主方法 我们进行处理的时候要 代换法 方法讲解 主要就是猜测答案的形式 我们只在乎 n 在无穷大的时候成立就行 关于答案的形式&#xff0c;我发现最后能够是 n log n 的形式的…

SUS-Chat-34B领先一步:高效双语AI模型的突破

引言 在人工智能领域&#xff0c;模型的规模和效能一直是衡量其先进性的关键指标。南方科技大学联合IDEA研究院CCNL团队最新开源的SUS-Chat-34B模型&#xff0c;以其340亿参数的庞大规模和卓越的双语处理能力&#xff0c;在AI界引起了广泛关注。 模型概述 SUS-Chat-34B是基于…

在VSCode中使用Git教程

文章目录 提交代码操作分支提交远程库拉取代码参考 介绍一下如何在VSCode中使用Git 首先在VSCode中打开一个项目 打开项目后, 点击下图按钮, 可以引入Git 提交代码 点击 &#xff1b;相当于git add. 下面两张图, 第一张表示改文件后的号, 只会add本文件. 第二张图表示这段时…

linux系统和网络(四):网络

本文主要探讨linux网络相关知识,详细介绍看本博客其他博文。 网络基础(参考本博客其他文章&#xff1a;基础网络知识&#xff0c;socket网络编程&#xff0c;基于socket的聊天室和简易ftp) 路由器是局域网和外部网络通信出入口 DNS实现域名和IP地址之间转换 …

Ai画板原理

在创建时画板可以选择数量和排列方式 也可以采用这个图片左上的画板工具&#xff0c;选择画板在其他地方画框即可生成&#xff0c;同时可以在属性框中可以修改尺寸大小 选择全部重新排列可以进行创建时的布局

uniapp创建/运行/发布项目

1、产生背景----跨平台应用框架 在移动端各大App盛行的时代&#xff0c;App之间的竞争也更加激烈&#xff0c;他们执着于让一个应用可以做多个事情 所以就应运而生了小程序&#xff0c;微信小程序、支付宝小程序、抖音小程序等等基于App本身的内嵌类程序。 但是各大App他不可…

VTK+QT配置(VS)

先根据vtk配置这个博客配置基本环境 然后把这个dll文件从VTK的designer目录复制到qt的对应目录里 记得这里是debug版本&#xff0c;你也可以配置release都一样的步骤&#xff0c;然后建立一个qt项目&#xff0c;接着配置包含目录&#xff0c;库目录&#xff0c;链接输入&…