小编dba*_*boa的帖子

ProgressBar主题与对角线装饰

我想装饰WPF ProgressBar,如下图所示:

目前:

ProgressBar没有装饰

装饰:

ProgressBar与装饰

此外,那些空白对角线应该从左到右移动选框动画.目前我有这个简单的风格为当前的外观:

<Style x:Key="{x:Type ProgressBar}" TargetType="{x:Type ProgressBar}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ProgressBar}">
                <Border x:Name="BorderBackground" CornerRadius="3" BorderThickness="1" BorderBrush="{StaticResource ProgressBarBorderBrush}" Background="{StaticResource ProgressBarBackgroundBrush}">
                    <Grid>
                        <VisualStateManager.VisualStateGroups>
                            <VisualStateGroup x:Name="CommonStates">
                                <VisualState x:Name="Determinate" />
                                <VisualState x:Name="Indeterminate" />
                            </VisualStateGroup>
                        </VisualStateManager.VisualStateGroups>
                        <Border x:Name="PART_Track" Margin="2" BorderThickness="1" CornerRadius="2" />
                        <Border x:Name="PART_Indicator" Margin="2" BorderThickness="1" CornerRadius="2" HorizontalAlignment="Left" Background="{StaticResource ProgressBarTrackBackgroundBrush}"/>
                    </Grid>
                </Border>
            </ControlTemplate>
        </Setter.Value>
    </Setter>
</Style>
Run Code Online (Sandbox Code Playgroud)

有人可以帮我搞定吗?我搜索它但也许我错过了正确的关键字来找到这样的东西,至少我通常看到(比如在OS X进度条)这个"装饰"通常使用.

提前致谢 ;).


解答模板的答案代码有点修改:

<Style x:Key="{x:Type ProgressBar}" TargetType="{x:Type ProgressBar}">
    <Setter Property="Template">
        <Setter.Value>
            <ControlTemplate TargetType="{x:Type ProgressBar}">
                <Border x:Name="BorderBackground" CornerRadius="3" BorderThickness="1" BorderBrush="{StaticResource ProgressBarBorderBrush}" …
Run Code Online (Sandbox Code Playgroud)

wpf coding-style progress-bar

11
推荐指数
1
解决办法
2874
查看次数

滑块最小/最大绑定到Int常量

我有一个整数常量来定义一些整数数据的最小值和最大值,我想将它们绑定到Slider控件属性,就像我在另一个数字编辑器上做的那样,但似乎不可能.

有没有简单的方法来实现这个?也许有价值转换器,或我错过了什么?

一些示例代码:

public const Int32 EXAMPLE_MIN_VALUE = 23;
public const Int32 EXAMPLE_MAX_VALUE = 55;
Run Code Online (Sandbox Code Playgroud)

这工作正常,我使用WpfToolkit的整数编辑器:

<WpfToolkit:IntegerUpDown Value="{Binding ExampleValue}" 
    Minimum="{x:Static Model:Configuracion.EXAMPLE_MIN_VALUE}" 
    Maximum="{x:Static Model:Configuracion.EXAMPLE_MAX_VALUE}" />
Run Code Online (Sandbox Code Playgroud)

但是当我尝试使用Slider时,它会崩溃:

<Slider Value="{Binding ExampleValue}" 
    Minimum="{x:Static Model:Configuracion.EXAMPLE_MIN_VALUE}" 
    Maximum="{x:Static Model:Configuracion.EXAMPLE_MAX_VALUE}" />
Run Code Online (Sandbox Code Playgroud)

data-binding wpf types converter slider

3
推荐指数
1
解决办法
2389
查看次数