【发布时间】:2018-03-29 11:17:25
【问题描述】:
我正在尝试制作一个条件形式 您可以在其中选择服务器类型,并且在该值上,字段会更改。 但问题是我启动这个 WPF 应用程序的那一刻。我的应用程序进入中断模式。但我不知道他在哪里或为什么进入休息模式。
在我评论 2 个网格的那一刻,应用程序启动没有问题。但是一旦我取消注释这些网格,WPF 应用程序就会失败。
这是 XAML
<Grid Margin="0,0,0,5" Grid.Row="7" Grid.ColumnSpan="2" Background="Yellow">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
<Label Grid.ColumnSpan="2" Grid.Column="0" HorizontalAlignment="Center" FontWeight="Bold" Content="Server settings" />
<Label Grid.Row="1" Grid.Column="0" HorizontalAlignment="Center" FontWeight="Bold" Content="Server type:" />
<ComboBox Name="ServerTypCmbx" Grid.Row="1" Grid.Column="1" SelectionChanged="ServerTypCmbx_SelectionChanged"></ComboBox>
<StackPanel Grid.Column="0" Grid.Row="2" Grid.ColumnSpan="2" Grid.RowSpan="3">
<Grid Visibility="Hidden" Name="S7Grid" Background="Purple">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
<Label Grid.Row="0" HorizontalAlignment="Center" FontWeight="Bold" Content="Server Ip:" />
<TextBox Text="{Binding Path=ServerSetting.Ip}" Margin="0,1" Grid.Row="0" Grid.Column="1"></TextBox>
<Label Grid.Row="1" HorizontalAlignment="Center" FontWeight="Bold" Content="Server Rack:" />
<TextBox Text="{Binding Path=ServerSetting.Rack}" Margin="0,1" Grid.Row="1" Grid.Column="1"></TextBox>
<Label Grid.Row="2" HorizontalAlignment="Center" FontWeight="Bold" Content="Server Slot:" />
<TextBox Text="{Binding Path=ServerSetting.Slot}" Margin="0,1" Grid.Row="2" Grid.Column="1"></TextBox>
</Grid >
<Grid Visibility="Hidden" Name="OPC_UAGrid" Background="Purple">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
<Label Grid.Row="0" HorizontalAlignment="Center" FontWeight="Bold" Content="Server Adress:" />
<TextBox Text="{Binding Path=ServerSetting.Adress}" Margin="0,1" Grid.Row="0" Grid.Column="1"></TextBox>
<Label Grid.Row="1" HorizontalAlignment="Center" FontWeight="Bold" Content="Server NameUri:" />
<TextBox Text="{Binding Path=ServerSetting.NamespaceUri}" Margin="0,1" Grid.Row="1" Grid.Column="1"></TextBox>
<Label Grid.Row="2" HorizontalAlignment="Center" FontWeight="Bold" Content="Server NameIndex:" />
<TextBox Text="{Binding Path=ServerSetting.NameSpaceIndex}" Margin="0,1" Grid.Row="2" Grid.Column="1"></TextBox>
</Grid>
<Grid Visibility="Hidden" Name="OPC_DAGrid" Background="Purple">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="30" />
<RowDefinition Height="30" />
<RowDefinition Height="30" />
</Grid.RowDefinitions>
<Label Grid.Row="0" HorizontalAlignment="Center" FontWeight="Bold" Content="Server Adress:" />
<TextBox Text="{Binding Path=ServerSetting.Adress}" Margin="0,1" Grid.Row="0" Grid.Column="1"></TextBox>
<Label Grid.Row="1" HorizontalAlignment="Center" FontWeight="Bold" Content="Server Name:" />
<TextBox Text="{Binding Path=ServerSetting.Name}" Margin="0,1" Grid.Row="1" Grid.Column="1"></TextBox>
</Grid>
</StackPanel>
</Grid>
【问题讨论】:
-
是否有任何进一步的信息或错误信息?
-
不,只是黑屏 vs 说:“您的应用已进入中断状态,但没有代码可显示,因为所有线程都在执行外部代码(通常是系统或框架代码)。”
-
尝试使用here中提到的方法继续执行。然后你应该看到堆栈跟踪。
-
可以通过删除页面/窗口/用户控件,重新创建它,将每一行添加回XAML来解决,只要你添加一行,调试它......这将解决问题或至少缩小范围
-
@MStoerzel,在鸟嘴模式下无法继续