首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

初学者提问!大神帮帮!怎么用caseswitch语句实现一个button的多个图片点击变换

2012-06-03 
菜鸟提问!大神帮帮!如何用caseswitch语句实现一个button的多个图片点击变换?这一个button里想要添加四种状

菜鸟提问!大神帮帮!如何用caseswitch语句实现一个button的多个图片点击变换?
这一个button里想要添加四种状态的图片,通过变量的不同选择不同的case进行执行,从而显示不同的图片!各位高手帮帮忙!!谢啦!

[解决办法]
string[] imgPaths = new string[]{"c://img1.jpg","c://img2.jpg","c://img3.jpg","c://img4.jpg"};

private void ChangeBackground(int index)
{
this.btn1.Background = Image.FromFile(imgPaths[index]);
}

编程要注意的是,能够不用if-else,switch的时候就尽量不要用,一旦用了,那么你的程序的扩展性就不好了
[解决办法]
<ControlTemplate x:Key="State" TargetType="{x:Type Button}">
<Grid >
<Rectangle x:Name="rectangle" Width="200" Height="200" Focusable="False">
<Rectangle.Fill>
<ImageBrush ImageSource="/1.png"></ImageBrush>
</Rectangle.Fill>
</Rectangle>
</Grid>
<ControlTemplate.Triggers>
<DataTrigger Binding="{Binding Path=S}" Value="2">
<Setter TargetName="rectangle" Property="Fill">
<Setter.Value>
<ImageBrush ImageSource="/2.png" ></ImageBrush>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path=S}" Value="3">
<Setter TargetName="rectangle" Property="Fill">
<Setter.Value>
<ImageBrush ImageSource="/3.png" ></ImageBrush>
</Setter.Value>
</Setter>
</DataTrigger>
<DataTrigger Binding="{Binding Path=S}" Value="4">
<Setter TargetName="rectangle" Property="Fill">
<Setter.Value>
<ImageBrush ImageSource="/4.png" ></ImageBrush>
</Setter.Value>
</Setter>
</DataTrigger>

然后后台定义DataContext绑定s

热点排行