标签: customization

WPF:在运行时期间从App.xaml更改资源(颜色)

我试图让我的应用程序更可定制,允许用户从拾色器对话框中选择一种颜色,然后实时更改应用程序的样式(使用DynamicResource)

如何更改驻留在的特定资源app.xaml


我尝试过类似的东西,但没有运气(只是一个测试):

var colorDialog = new CustomControls.ColorPickerDialog();
var dResult = colorDialog.ShowDialog();
var x = Application.Current.Resources.Values.OfType<LinearGradientBrush>().First();
x = new LinearGradientBrush();
x.GradientStops.Add(new GradientStop(colorDialog.SelectedColor,1));
Run Code Online (Sandbox Code Playgroud)

这是app.xaml文件的摘录:

<Application.Resources>
        <LinearGradientBrush EndPoint="0.5,1" StartPoint="0.5,0" x:Key="HeaderBackground">
            <GradientStop Color="#82cb02" Offset="1"/>
            <GradientStop Color="#82cb01" Offset="0.2"/>
            <GradientStop Color="#629a01" Offset="0.5"/>
        </LinearGradientBrush>
Run Code Online (Sandbox Code Playgroud)

允许这种形式的可定制性(基本上只是改变一些颜色)到应用程序的最佳方法是什么?


[更新]

我刚从上一个被问到的问题中找到了这个答案,并尝试了但是我得到了与给定答案的评论中提到的相同的InvalidOperationException异常Petoj.以下是答案中的示例代码:

Xaml:

<LinearGradientBrush x:Key="MainBrush" StartPoint="0, 0.5" EndPoint="1, 0.5" >
    <GradientBrush.GradientStops>
        <GradientStop Color="Blue" Offset="0" />
        <GradientStop Color="Black" Offset="1" />
    </GradientBrush.GradientStops>
</LinearGradientBrush>
Run Code Online (Sandbox Code Playgroud)

C#:

LinearGradientBrush myBrush = FindResource("MainBrush") as LinearGradientBrush;
myBrush.GradientStops[0].Color = …
Run Code Online (Sandbox Code Playgroud)

wpf resources customization xaml app.xaml

10
推荐指数
2
解决办法
3万
查看次数

如何像Apple Pro Apps一样自定义NSMenu?

我想自定义一个NSMenuNSMenuItems,所以做它看起来像苹果专业应用软件.

但是我如何定制NSMenu?没有绘制方法来改变外观.如果我将a设置NSView为a NSMenuItem,我可以设置背景颜色,但是我会忽略突出显示和菜单处理.此外,顶盖和底盖NSMenu不能定制.

我发现只有这个提示,但遗憾的是没有代码.

Dark TableView带有白色菜单和白色菜单项

我会很乐意得到一些帮助!

customization cocoa nsmenu nsmenuitem

10
推荐指数
1
解决办法
2296
查看次数

Emacs中的游标类型

我在.emacs文件中放入什么来将所有帧的光标类型更改为box

emacs customization cursor preferences

10
推荐指数
1
解决办法
6500
查看次数

自定义tableViewàlaTweetbot

您在下面看到的是Tweetbot iPhone应用程序的屏幕截图.我想问的是,如果你知道一种方法,我可以实现Tapbots家伙在他们的tableView中取得的成果:你点击前tableView的一个单元格,它会显示一组动作,再次点击它就会消失.

在此输入图像描述

这是一个非常酷的实现,我很想知道你对如何在实践中做到这一点的意见,也因为我希望在未来的项目中使用这个的变体.

任何的想法?

customization uitableview uikit ios

10
推荐指数
1
解决办法
2670
查看次数

水平滚动和TextField错误

我创建了一个CustomTextField,当我输入的文本超出了使用Horizo​​nalFieldManager的TextField的宽度时向左滚动但是现在的问题是如果我用鼠标右键单击并滚动它继续到不适当的长度但不停止到我输入的最后一个字这里有什么问题?这是一个错误

我只需要在它到达最后一个单词时禁用Horizo​​ntalScrolling它应该能够在单词中最后一个单词的开头和结尾之间滚动

看看代码

import net.rim.device.api.ui.Color;
import net.rim.device.api.ui.Field;
import net.rim.device.api.ui.FocusChangeListener;
import net.rim.device.api.ui.Graphics;
import net.rim.device.api.ui.Manager;
import net.rim.device.api.ui.XYEdges;
import net.rim.device.api.ui.XYRect;
import net.rim.device.api.ui.component.BasicEditField;
import net.rim.device.api.ui.container.HorizontalFieldManager;
import net.rim.device.api.ui.container.VerticalFieldManager;
import net.rim.device.api.ui.decor.Border;
import net.rim.device.api.ui.decor.BorderFactory;


public class CustomTextField extends VerticalFieldManager {
    private int textWidth=0;
    private int textHeight=0;
    private BasicEditField basicEditField;
    private HorizontalFieldManager hfm;
    //Border border;

    public CustomTextField(int width,int height) {
        super();
        textWidth=width;
        textHeight=height;
        //border=BorderFactory.createSimpleBorder(new XYEdges(1, 1, 1, 1)); 


        hfm=new HorizontalFieldManager(Manager.HORIZONTAL_SCROLL){
            protected void sublayout(int maxWidth, int maxHeight) {
                super.sublayout(maxWidth, maxHeight);
                setExtent(textWidth, textHeight);
            }
        };  
        basicEditField=new BasicEditField("","",200,BasicEditField.NO_NEWLINE);
        //basicEditField.setBorder(border);

        hfm.add(basicEditField);
        add(hfm); …
Run Code Online (Sandbox Code Playgroud)

java customization blackberry textfield

10
推荐指数
1
解决办法
846
查看次数

alt + backspace删除vim中的单词

如何重新映射alt+backspace以删除像native*NIX文本操作这样的单词?我检查了这个帖子:在vim命令行中使用alt + backspace键来删除单词

例如:cmap <a-bs> <c-w>并且:imap <A-BS> <C-W>不做任何事情.接受的答案实际上是甚至没有重新映射它,而是使用它ctrl+w.由于VIM alt+backspace没有做任何事情,我宁愿将其重新映射到我习惯的东西.

我正在使用基于终端的VIM(特别是在iTerm中)

vim customization

10
推荐指数
2
解决办法
1637
查看次数

哦我的Zsh多个命令有一个别名

我正在使用Oh My Zsh,并想知道是否有办法创建一个函数或别名来运行多个命令.举个例子,运行'update'命令会更新特定的gem,但不是全部.

bash customization zsh oh-my-zsh

10
推荐指数
1
解决办法
7001
查看次数

突出显示Angular UI DatePicker中的特定日期

我正在使用angular-ui datepicker指令,需要使用彩色文本呈现一些日期.我已经使用beforeShowDay事件找到了bootstrap datepicker的示例,但是找不到angular-ui datepicker的内容.我对angular和angular-ui相当新,并且会感激任何建议.

customization date datepicker angular-ui

10
推荐指数
1
解决办法
3004
查看次数

C#| WPF - 自定义标题栏 - 最大化时从顶部拖动窗口不起作用

我有一个自定义标题栏,窗口样式设置为无.在单击标题栏时,我检查是否是双击(如果窗口最大化并恢复),如果不是双击我做Window.DragMove.这适用于侧面和顶部的卡扣.但是当我尝试在窗口最大化时拖动窗口(通常会将窗口恢复原状),它什么都不做.这是我的代码:

    static Window Window { get { return Application.Current.MainWindow; } }

    /// <summary>
    /// TitleBar_MouseDown - Drag if single-click, resize if double-click
    /// </summary>
    private static void TitleBar_MouseDown(object sender, MouseButtonEventArgs e)
    {
        if (e.ChangedButton == MouseButton.Left)
        {
            if (e.ClickCount == 2)
            {
                AdjustWindowSize();
            }
            else
            {
                Window.DragMove();//Here is where I do the drag move
            }
        }
    }

    /// <summary>
    /// Adjusts the WindowSize to correct parameters when Maximize button is clicked
    /// </summary>
    internal static void AdjustWindowSize()
    { …
Run Code Online (Sandbox Code Playgroud)

c# wpf customization window titlebar

10
推荐指数
1
解决办法
2万
查看次数

如何在android中制作双向搜索栏?

我正在构建一个Android应用程序,用户通过搜索栏选择最大值.

我需要在同一个搜索栏上使用另一个按钮,以便用户可以从特定的搜索栏中选择最大值和最小值.

这是我的单一搜索栏代码 -

package com.ui.yogeshblogspot;

public class CustomSeekBarExActivity extends Activity implements OnSeekBarChangeListener{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
 SeekBar bar=(SeekBar)findViewById(R.id.seekBar1);
 bar.setOnSeekBarChangeListener(this);
}

@Override
public void onProgressChanged(SeekBar seekBar, int progress,
        boolean fromUser) {
    // TODO Auto-generated method stub
    TextView tv=(TextView)findViewById(R.id.textView2);
    tv.setText(Integer.toString(progress)+"%");

}

@Override
public void onStartTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub

}

@Override
public void onStopTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub

}
}
Run Code Online (Sandbox Code Playgroud)

这是我的搜索栏的xml代码 - …

customization android seekbar

10
推荐指数
4
解决办法
3万
查看次数