如何在C#WPF中以不连续的步骤更改椭圆的填充颜色

梅拉·加西亚(Mayra Garcia)

我有一个名为Sequence的布尔值列表我想根据列表的值更改形状的颜色,也就是说,我每次遍历True时都要遍历列表的值并用某种颜色(例如黄色)填充形状每次我发现False值时,更改填充的颜色(更改为蓝色)。我试图这样做:

foreach(bool element in Sequence)
{
    if(element){ ellipse.Fill = new SolidColorBrush(Colors.Yellow); }
    else{ ellipse.Fill = new SolidColorBrush(Colors.Blue); }
    int milisecond = 200;
    Thread.Sleep(miliseconds);
}

但是颜色仍然不会交替出现。

这是XAML:

`<Ellipse x:Name="elipse" Height="100" Margin="151,52,0,0" Stroke="Black" Width="100" /> `

我需要扳机吗?我在做什么错?预先谢谢您,如果有什么好笑的话,请原谅我的英语不好。

布拉德利网
foreach(bool element in Sequence)
{
    if(element){ ellipse.Fill = new SolidColorBrush(Colors.Yellow); }
    else{ ellipse.Fill = new SolidColorBrush(Colors.Blue); }
    int milisecond = 200;
    Thread.Sleep(miliseconds);
}

在UI线程上同步运行因此,UI永远没有机会更新颜色。请改用计时器。

当然,那么您就不能这样做foreach,因为您必须跟踪当前索引。一个办法解决将是保持当前的代码,但替换Thread.Sleepawait Task.Delay

(来自Peter Duniho的道歉,他添加了此代码示例,但是这个答案似乎正在呼唤一个人)

<edit>
async基础看起来像这样(恕我直言,比使用计时器更可取):

foreach (bool element in Sequence)
{
    ellipse.Fill = new SolidColorBrush(element ? Colors.Yellow : Colors.Blue);
    await Task.Delay(200);
}

当然,要能够使用await它,使用它的方法需要声明为async不幸的是,最初的问题并没有提供完整的方法及其签名,但是大概OP可以async自己研究方法的使用并查看如何进行转换。
</ edit>

整机采用案例似乎应该是重新设计的,但这些解决方案之一应该让你越往下路径。请记住,如果您在编写代码隐藏程序,则可能做错了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在C#WPF中检测椭圆的当前颜色

来自分类Dev

如何在表C#WPF上填充数据

来自分类Dev

C#WPF DataGrid:如何在不破坏DataGrid Iteslf的情况下为DataGrid单元内的文本绘制颜色?

来自分类Dev

C#WPF中的随机颜色

来自分类Dev

C#WPF中的随机颜色

来自分类Dev

如何在C#WPF中向Datagrid添加行

来自分类Dev

如何在C#WPF中以重复模式运行MediaPlayer?

来自分类Dev

如何在Datagrid C#WPF中动态行?

来自分类Dev

如何在C#WPF中以编程方式创建DataGrid?

来自分类Dev

如何在Datagrid C#WPF中动态行?

来自分类Dev

如何在树视图C#WPF中插入子项

来自分类Dev

如何在C#WPF中引用和使用标签

来自分类Dev

c#WPF如何仅更改内容?

来自分类Dev

如何在处理中更改数组中每个椭圆的颜色?

来自分类Dev

如何在WPF中绑定多种颜色以填充矩形?

来自分类Dev

如何在WPF中绑定多种颜色以填充矩形?

来自分类Dev

如何在 WPF 矩形中获取填充颜色值?

来自分类Dev

在按钮内更改椭圆填充颜色

来自分类Dev

如何在javascript画布中更改blob的填充颜色?

来自分类Dev

C#WPF如何以编程方式填充我的DataGrid

来自分类Dev

如何在C ++中更改颜色?

来自分类Dev

如何在C ++中从向量中删除不连续的元素

来自分类Dev

如何在python pyqt5中连续更改标签颜色颜色

来自分类Dev

如何在Rich文本框中更改所选文本背景颜色WPF C#

来自分类Dev

如何在Flutter中更改CupertinoSwitch不活动状态的颜色

来自分类Dev

如何在WPF中更改按钮的内容“颜色”

来自分类Dev

如何填充形状的颜色外(椭圆)

来自分类Dev

如何连续更改颜色

来自分类Dev

当鼠标悬停在另一个椭圆上时,如何更改椭圆的填充颜色?

Related 相关文章

热门标签

归档