【问题标题】:WFP all TextBlocks not updating粮食计划署所有文本块未更新
【发布时间】:2020-07-03 11:48:46
【问题描述】:

所以我的代码运行良好。但是现在,即使我可以通过剪贴板副本确认变量和字符串是否存在,文本块也不会通过 TextBlock.Text 更新。我关掉了什么吗?每个人同时停止这样做。

`private void actionPing_Click(object sender, RoutedEventArgs e) {

        try
        {
            Ping myPing = new Ping();


            PingReply reply = myPing.Send(HostNameIPTyped.Text.ToString(), 500);

            if (reply != null)
            {
                string tripTime = reply.RoundtripTime.ToString();
                if (tripTime == "0")
                {
                    
                    PingStatus1.Foreground = new System.Windows.Media.SolidColorBrush((Color)ColorConverter.ConvertFromString("#660000"));
                    PingStatus1.Text = "Device not found";  <---NONE OF THESE ARE UPDATING ACROSS THE ENTIRE PROGRAM
                }
                else
                {

                    PingStatus1.Foreground = new System.Windows.Media.SolidColorBrush((Color)ColorConverter.ConvertFromString("#17b05c"));
                    PingStatus1.Text = "Ping Successful, " + reply.RoundtripTime.ToString() + "ms roundtrip";
                   
                    //// LET'S GET THE IP AND HOSTNAME OF WHATEVER THE HELL YOU PUT IN
                    
                    ////IPADDRESS
                    try
                    {
                        System.Net.IPAddress ip = System.Net.Dns.GetHostEntry(HostNameIPTyped.Text.ToString()).AddressList.Where(o => o.AddressFamily == System.Net.Sockets.AddressFamily.InterNetwork).First();

                        ipAddress = ip.ToString();
                    }

                    catch (Exception ex)
                    { }
                    


                    ////HOSTNAME
                    try
                    {
                        System.Net.IPHostEntry hostEntry = System.Net.Dns.GetHostEntry(ipAddress);
                        machineName = hostEntry.HostName;

                        string linkBuild = "http://" + machineName; 
                       
                    }
                    catch (Exception ex) { }
                    PingStatus1.Text += " " + machineName;
                }
            }
        }
        catch
        {
            {
                PingStatus1.Foreground = new System.Windows.Media.SolidColorBrush((Color)ColorConverter.ConvertFromString("#660000"));
                PingStatus1.Text = "Device not found";
            }
        }
        
        
       
    }`

【问题讨论】:

  • 您的问题需要更多细节才能让任何人合理回答。你在使用绑定吗?您是否正在更新绑定的属性?还是您以其他方式更新文本块?
  • 对一个显示 TextBlock.Text = "Test"; 的按钮使用非常简单的单击状态。这是有效的,但在所有文本块上都神奇地停止了。
  • 示例...这是我的 Ping。更新文本块工作得很好。我没有改变任何东西。关键是它实际上仍然执行 ping 并且确实返回 IP 和主机名以及所有其他内容,它只是拒绝更新文本块。 ` PingStatus1.Text = "Ping 成功," + reply.RoundtripTime.ToString() + "ms 往返"; `
  • 我添加了完整的代码部分,以便您查看。该代码正在运行,但随后所有文本块更新全面停止。甚至尝试了一个简单的测试而不需要其他任何东西,它不会更新
  • @Shawn 您正在吞咽异常,可能正在抛出异常而您没有意识到这一点。尝试记录或重新抛出异常。

标签: c# textblock


【解决方案1】:

它正在更新字段。我对网格的大小进行了调整,将所有文本块字段展平到左侧。一旦我给它们下药,它们就不再自动调整大小了。

感谢您的帮助!

【讨论】:

    猜你喜欢
    • 2020-10-14
    • 1970-01-01
    • 2018-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多