0

私はsilverlightでxmlを初めて使用します。以下に小さなxmlファイルが1つあります

<FlowActivities>

 <SequenceFlow >

  <FlowWriteLine>

         hiiii

  </FlowWriteLine>

 </SequenceFlow>

</FlowActivities>

これで、rootnode.like にいくつかの名前空間をハードコーディングしたい

<FlowActivities x:Class="WorkflowConsoleApplication1.modify" 
      xmlns="http://schemas.microsoft.com/netfx/2009/xaml/activities" 
      mc:Ignorable="sap2010"
      xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
      sap2010:ExpressionActivityEditor.ExpressionActivityEditor="C#"
      xmlns:sap2010="http://schemas.microsoft.com/netfx/2010/xaml/activities/presentation"
      xmlns:sco="clr-namespace:System.Collections.ObjectModel;assembly=mscorlib"   
      xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">

 <SequenceFlow >

  <FlowWriteLine>

         hiiii

  </FlowWriteLine>

 </SequenceFlow>

</FlowActivities>

私がしなければならないこれを得るために..?これを整理してください..?

4

2 に答える 2

1

できません。JoanComasFdz が言ったように変数を設定する必要があります。同じフォーマットを使用する必要がある場合は、別のクラス (ビューモデル) を作成できます。xml ファイルを読み取って解析する MyXMLData.cs。XML ノードを読み取り、このクラスからクラス変数「theString」を設定します。XAML では、リソース セクションでクラスのインスタンスを作成し、グリッドまたはテキスト ボックスのデータ コンテキストをそのオブジェクトに設定できます。

<UserControl
    x:Class="Test_SL_HardcodeString.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:system="clr-namespace:System;assembly=mscorlib" mc:Ignorable="d"
    xmlns:viewmodel="clr-namespace:MyNameSpace.ViewModels"
    d:DesignHeight="300"
    d:DesignWidth="400">

    <UserControl.Resources>
        <viewmodel:MyXMLData x:key="myxmldataclass"/>
    </UserControl.Resources>

    <Grid x:Name="LayoutRoot" Background="White" DataContext="{StaticResource myxmldataclass}" >
        <TextBox Text="{StaticResource theString}"/>
    </Grid>
</UserControl>
于 2013-01-24T09:10:34.823 に答える
1

XAML は現在の XML ファイルではなく、XML に基づく言語です。したがって、存在しない XML タグをランダムに記述することはできません。

SL XAML ファイルで文字列をハードコーディングするには:

<UserControl
    x:Class="Test_SL_HardcodeString.MainPage"
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
    xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
    xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
    xmlns:system="clr-namespace:System;assembly=mscorlib" mc:Ignorable="d"
    d:DesignHeight="300"
    d:DesignWidth="400">

    <UserControl.Resources>
        <system:String x:Key="myString">This is a test string</system:String>
    </UserControl.Resources>

    <Grid x:Name="LayoutRoot" Background="White">
        <TextBox Text="{StaticResource myString}"/>
    </Grid>
</UserControl>
于 2013-01-24T08:49:15.307 に答える