簡単な XAML ファイルを作成しました。
<Window xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
mc:Ignorable="d"
d:DesignHeight="400" d:DesignWidth="250"
WindowStartupLocation="CenterScreen"
ResizeMode="NoResize" Title="Окошко" Width="250" Height="400">
<Grid>
<!--Настраиваем сетку-->
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="Auto"/>
<RowDefinition Height="Auto"/>
</Grid.RowDefinitions>
<!--Теперь по сетке раскидываем контролы-->
<GroupBox x:Name="listTitle" x:FieldModifier="public" Header="Список элементов:" Margin="5"
Padding="5">
<!--В объекте ListBox указываем, что источником данных для элементов
списка следует использовать свойство DataContext родительского элемента-->
<ListBox x:Name="listbox" x:FieldModifier="public"
ItemsSource="{Binding}" SelectionMode="Multiple">
<!--Шаблон отображения элементов списка-->
<ListBox.ItemTemplate>
<DataTemplate>
<!--Указываем, что каждый элемент следует отображать
в виде текста, который должен считываться из свойства "Value"-->
<TextBlock Text="{Binding Path=Value}"/>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</GroupBox>
<GroupBox Header="Примечание:" Grid.Row="1" Margin="5" Padding="5">
<TextBlock x:Name="txtNotes" x:FieldModifier="public" TextWrapping="Wrap"/>
</GroupBox>
<StackPanel Orientation="Horizontal" Grid.Row="2"
HorizontalAlignment="Right">
<Button x:Name="btnAccept" x:FieldModifier="public" Margin="5"
Padding="5" IsDefault="True">Принять</Button>
<Button x:Name="btnExit" x:FieldModifier="public" Margin="5"
Padding="5" IsCancel="True">Выход</Button>
</StackPanel>
</Grid>
</Window>
シンプルなウィンドウです:
私は自分のコードでこれを解析します:
using (io.FileStream fs = new io.FileStream(fileFullName, io.FileMode.Open)) {
depObj = XamlReader.Load(fs) as DependencyObject;
fs.Close();
}
.NET 4.0 では問題なく動作しますが、.NET 3.5 SP1 では例外が発生します。
System.Windows.Markup.XamlParseException が発生しましたメッセージ = 属性 'FieldModifier' は XML 名前空間 ' http://schemas.microsoft.com/winfx/2006/xaml
' に存在しません。行 '17' 位置 '38'。
なぜこれが起こるのですか?