前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C# WPF资源使用入门实例

C# WPF资源使用入门实例

作者头像
zls365
发布2020-12-29 12:01:10
9300
发布2020-12-29 12:01:10
举报
文章被收录于专栏:CSharp编程大全CSharp编程大全

实例介绍

1. 添加两个textbox,第一个textbox从XMAL资源中获取字符串,第二个textbox从C#中获取资源

2. 为了在XMAL中使用string类,需要引用

代码语言:javascript
复制
xmlns:sys="clr-namespace:System;assembly=mscorlib"

3. 类型转换

代码语言:javascript
复制
this.FindResource("myString") as string

等效于

代码语言:javascript
复制
(string)this.FindResource("myString")

XMAL源码

代码语言:javascript
复制
<Window x:Class="WpfApp8.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:sys="clr-namespace:System;assembly=mscorlib"
        xmlns:local="clr-namespace:WpfApp8"
        mc:Ignorable="d"
        Title="MainWindow" Height="130" Width="200">
    <Window.Resources>
        <sys:String x:Key="myString">hello wpf</sys:String> 
    </Window.Resources>
    <StackPanel>
        <TextBox  Text="{StaticResource myString}"/>
        <TextBox Name="textBox1" />
        <Button Name="btnCtrl1" Content="show" Margin="5" Click="BtnCtrl1_Click"/>
    </StackPanel>
</Window>

C#源码

代码语言:javascript
复制
using System.Windows;
namespace WpfApp8
{
    /// <summary>
    /// MainWindow.xaml 的交互逻辑
    /// </summary>
    public partial class MainWindow : Window
    {
        public MainWindow()
        {
            InitializeComponent();
        }

        private void BtnCtrl1_Click(object sender, RoutedEventArgs e)
        {
            string str = this.FindResource("myString") as string;
            this.textBox1.Text = str;
        }
    }
}

除了在窗口定义资源外,还可以在应用程序定义资源

应用程序资源

窗口不是查找应用程序资源的最后一站,如果在控件或其他容器中知道包含窗口或页面找不到指定的资源。WPF会继续查找为应用程序定义的资源。在Visual Studio中,这些资源在App.xaml文件的标记中定义的资源。

代码语言:javascript
复制
<Application x:Class="WpfApp8.App"
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:sys="clr-namespace:System;assembly=mscorlib"
             xmlns:local="clr-namespace:WpfApp8"
             StartupUri="MainWindow.xaml">
    <Application.Resources>
        <sys:String x:Key="myString">hello wpf</sys:String> 
    </Application.Resources>
</Application>

运行效果

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 CSharp编程大全 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 应用程序资源
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档