IsolatedStorage にある XML ファイルからデータを読み込みたい。次に、XML要素インデックスである変数固有のインデックス番号を持っています。そして、ここで問題があります。この要素から TextBoxes (通常の StackPanel 内) の値をロードしたいからです。これをバインドしてリストボックスに入れようとしましたが、このボックスからテキストを読み取ることができません。これはリストボックスの項目です。単に要素の属性を TextBoxes にロードしたいだけで、その後、このテキストボックスで編集されたテキストを読みたいと思っています。これは xml 要素の例です。
<person index="1" att1="qwerty" att2="azerty" att3="abcdef"/>
これは Xaml コードです:
<StackPanel x:Name="stack">
<TextBlock Height="27" Margin="0,0,0,0" Grid.Row="1" TextWrapping="Wrap" Text="Record index:" VerticalAlignment="Top" Foreground="#FF6C6C6C"/>
<TextBox Text="{Binding Index}" x:Name="index_box_det" Height="65" Margin="-12,-10,0,0" Grid.Row="1" TextWrapping="Wrap" VerticalAlignment="Top" Foreground="#FF40AA2F" HorizontalAlignment="Left" Width="467" SelectionBackground="#FF40AA2F" SelectionForeground="White" BorderBrush="#FF3FA92E" FontSize="18.667"/>
</StackPanel>
私はこれを試しました:
var ind = "1";
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream("People2.xml", FileMode.Open, isoStore))
{
XDocument loadedCustomData = XDocument.Load(isoStream);
var filteredData = from c in loadedCustomData.Descendants("person")
where c.Attribute("index").Value == ind
select new Person()
{
index= c.Attribute("index").Value,
att1= c.Attribute("att1").Value,
att2= c.Attribute("att2").Value,
att3= c.Attribute("att3").Value
};
stack.DataContext = filteredData;
}
しかし、あなたが思うように、それはうまくいきません。誰かがこの値をテキストボックスにロードする考えを持っていますか?
編集:私はこれを試しました:
var ind = "1";
using (IsolatedStorageFile isoStore = IsolatedStorageFile.GetUserStoreForApplication())
{
using (IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream("People2.xml", FileMode.Open, isoStore))
{
XDocument loadedCustomData = XDocument.Load(isoStream);
var filteredData = from c in loadedCustomData.Descendants("person")
where c.Attribute("index").Value == ind
select new Person()
{
index= c.Attribute("index").Value,
att1= c.Attribute("att1").Value,
att2= c.Attribute("att2").Value,
att3= c.Attribute("att3").Value
};
stack.DataContext = filteredData;
}
index_box_det.Text = インデックス;
まだ動作しません。