1

以下代码片段引发系统异常。

TextBlock selectionText = new TextBlock();                        
                    selectionText.IsTextSelectionEnabled = true;                        
                    selectionText.Text = "Hello world";                        
                    selectionText.Foreground = new SolidColorBrush(global::Windows.UI.Color.FromArgb(255, 255, 0, 0));
                    selectionText.SelectAll();

我的代码有什么问题?

提前致谢

4

2 回答 2

2

您应该确保selectionText在调用它之前显示SelectAll()它,即您应该将它添加到当前页面内的面板中:

TextBlock selectionText = new TextBlock();
selectionText.IsTextSelectionEnabled = true;
selectionText.Text = "Hello world";
selectionText.Foreground = new SolidColorBrush(global::Windows.UI.Color.FromArgb(255, 255, 0, 0));
MainPanel.Children.Add(selectionText);
Dispatcher.RunAsync(CoreDispatcherPriority.Normal, selectionText.SelectAll);

注意两个变化:

  • MainPanel.Children.Add()对where的调用MainPanel是页面上面板控件的名称。
  • selectionText.SelectAll()调用 viaDispatcher以确保selectionText在调用执行之前实际添加到面板中。
于 2013-02-28T05:49:55.807 回答
0

我的猜测是原色

Color.FromArgb(255, 255, 0, 0)

第一个数字代表“Alpha”级别,即透明度。Windows RT 可能无法处理。

试试这个

Color.FromArgb(0, 255, 0, 0)
于 2013-02-28T05:55:41.180 回答