我有一个基本的类,看起来像这样:
public class Item
{
private string name;
private bool visible;
private double value;
private Item parent;
private List<Item> children = new List<Item>();
…
}
Run Code Online (Sandbox Code Playgroud)
我有一个需要在树形视图中显示的项目列表。对于每个项目,我需要显示以下字段:
我想通过使用MVVM来做到这一点,所以我定义了以下类“ ItemViewModel”和“ ItemCollectionViewModel”,将树视图绑定到这些类。
我尝试了以下XAML:
<TreeView ItemsSource="{Binding ItemViewModelList}">
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="{Binding IsExpanded, Mode=TwoWay}" />
<Setter Property="IsSelected" Value="{Binding IsSelected, Mode=TwoWay}" />
<Setter Property="FontWeight" Value="Normal" />
<Style.Triggers>
<Trigger Property="IsSelected" Value="True">
<Setter Property="FontWeight" Value="Bold" />
</Trigger>
</Style.Triggers>
</Style>
</TreeView.ItemContainerStyle>
<TreeView.ItemTemplate>
<HierarchicalDataTemplate ItemsSource="{Binding Children}">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition SharedSizeGroup="VisibiltyCol" />
<ColumnDefinition SharedSizeGroup="NameCol" /> …
Run Code Online (Sandbox Code Playgroud) 我有一个旧服务,我通过以下方式比较2个IP地址(当服务启动时):
if (IPAddress1.Address == IPAddress2.Address)
{
...
}
Run Code Online (Sandbox Code Playgroud)
它在2003服务器上安装并启动时始终工作正常,但现在当我尝试在2008服务器上安装它时,我得到以下异常:
服务无法启动.System.Net.Sockets.SocketException:System.Net.IPAddress.get_Address()引用的对象类型不支持尝试的操作
(奇怪的是,当尝试在客户端2008服务器上安装并启动它时,它工作).
问题是什么?