用C#代码动态改变页面样式

 

在Web系统开发过程中,采用CSS 增强和美化页面样式已经成了一道标准‘工序’。在Visual Studio .NET 环境下开发BS系统,可以通过设置WEB 控件的CssClass属性,方便地设置和修改控件的样式。

但在实际开发过程中,让开发人员一个个地设置控件的CssClass属性,不仅繁琐,而且容易出错,更头疼的是,还可能造成维护上的麻烦。

下面的代码段演示了一种在实际应用中取得良好效果的解决办法,希望能起到抛砖引玉的效果。基于这样的思路,相信大家可以开发出更多的应用,如实现简单的SKIN功能等。

代码如下。使用方法就是在每个.ASPX的Page_Load()方法里调用LoadPageCSS ()即可。

 public void LoadPageCSS (System.Web.UI.Page vPage)
 {
     if (!vPage.IsPostBack)
     {
        SetControlsCSS (vPage.Controls);
     }
 }

 private void SetControlsCSS (System.Web.UI.ControlCollection vControls)
 {
     for (int i=0; i<vControls.Count; i++)
     {  
        System.Web.UI.Control vControl = vControls[i];
        string vControlName = vControl.GetType().Name;
        switch (vControlName)
        {
            case "TextBox":
               TextBox_CSS ((TextBox) vControl);
               break;
            case "RadioButtonList":
               RadioButtonList_CSS ((RadioButtonList) vControl);
               break;
            case "DropDownList":
               DropDownList_CSS ((DropDownList) vControl);
               break;
            case "Button":
               Button_CSS ((Button) vControl);
               break;
            case "DataGrid":
               DataGrid_CSS ((DataGrid) vControl);
               break;
            ///   更多的控件类型及其处理方法
            ///   ....
            ///   ...
        }
        if (vControl.Controls.Count > 0)
        {
            SetControlsCSS (vControl.Controls);
        }
     }

 }

 private void RadioButtonList_CSS(RadioButtonList vRdoList)
 {
     vRdoList.CssClass ="RadioButtonList_show";    
 }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
好的,针对你的问题,我来简单介绍一下Style样式的四种使用方法,以及用C#代码动态加载资源文件并设置样式的方法。 1. 在XAML中定义Style 在XAML中,我们可以使用Style标签来定义样式,然后在控件中引用该样式即可。 ```xml <Window.Resources> <Style x:Key="myButtonStyle" TargetType="Button"> <Setter Property="Background" Value="Red"/> <Setter Property="Foreground" Value="White"/> <Setter Property="FontSize" Value="12"/> </Style> </Window.Resources> <Button Content="Click Me" Style="{StaticResource myButtonStyle}"/> ``` 2. 直接在控件中定义Style 除了在XAML中定义Style外,我们还可以在控件中直接定义Style。 ```xml <Button Content="Click Me"> <Button.Style> <Style TargetType="Button"> <Setter Property="Background" Value="Red"/> <Setter Property="Foreground" Value="White"/> <Setter Property="FontSize" Value="12"/> </Style> </Button.Style> </Button> ``` 3. 在资源字典中定义Style 我们还可以将Style定义在资源字典中,以便在整个应用程序中重复使用。 ```xml <Application.Resources> <ResourceDictionary> <Style x:Key="myButtonStyle" TargetType="Button"> <Setter Property="Background" Value="Red"/> <Setter Property="Foreground" Value="White"/> <Setter Property="FontSize" Value="12"/> </Style> </ResourceDictionary> </Application.Resources> <Button Content="Click Me" Style="{StaticResource myButtonStyle}"/> ``` 4. 动态加载Style 最后,我们可以使用C#代码动态加载资源文件并设置样式。 ```csharp var resourceUri = new Uri("/MyAssembly;component/Styles.xaml", UriKind.Relative); var resource = Application.LoadComponent(resourceUri) as ResourceDictionary; var style = resource["myButtonStyle"] as Style; myButton.Style = style; ``` 以上就是关于Style样式的四种使用方法,以及用C#代码动态加载资源文件并设置样式的介绍。希望能够对你有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值