应用程序版本选择器实现

时间:2014-09-03 06:40:35

标签: c# wpf combobox environment-variables

我在Windows 8机器上安装了以下版本的R

•   R-3.0.0
•   R-3.0.1
•   R-.3.0.2
•   R-3.1.1

我需要使用ComboBox控件创建简单的WPF应用程序来选择R版本 基于ComboBox选择的Item,我们必须将所选R版本的目录添加到Environment变量中。我尝试使用.txt文件包含有关R verion详细信息和已安装目录的信息。但我无法达到我的要求。有没有其他方法来实现这一目标?

我已将XML文件与以下代码段一起使用,文件名为RVersion.xml

<?xml version="1.0" encoding="utf-8" ?>

<RVersions>

  <RVersion>
    <Version>R-3.0.2</Version>
    <Path>C:\Program Files\R\R-3.0.2\bin</Path>
  </RVersion>

  <RVersion>
    <Version>R-3.1.1</Version>
    <Path>C:\Program Files\R\R-3.1.1\bin</Path>
  </RVersion>

</RVersions>

我在XAML文件中使用了以下代码片段

<Window.Resources>
        <XmlDataProvider x:Key="RData"
                         Source="F:\Big Data\Data Analytics\Layout\Layout\RVersion.xml"
                         XPath="RVersions/RVersion"/>

    </Window.Resources>

    <Grid>
        <ComboBox             
            ItemsSource="{Binding Source={StaticResource RData}}" 
            DisplayMemberPath="@Version"             
            Height="25"            
            SelectedIndex="0"  
            SelectionChanged="ComboBox_SelectionChanged"/>
    </Grid>

在这种情况下,comboBox没有显示R版本详细信息

1 个答案:

答案 0 :(得分:0)

我已通过在DisplayMemberPath

中使用以下修改过的代码段来实现此目的
<ComboBox             
            ItemsSource="{Binding Source={StaticResource RData}}" 
            DisplayMemberPath="Version"             
            Height="25"            
            SelectedIndex="0"  
            SelectionChanged="ComboBox_SelectionChanged"/>