Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 应用程序版本选择器实现_C#_Wpf_Combobox_Environment Variables - Fatal编程技术网

C# 应用程序版本选择器实现

C# 应用程序版本选择器实现,c#,wpf,combobox,environment-variables,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所选项目,我们必须将所选R版本的目录添加到环境变量中。我尝试过使用.txt文件,其中包含关于verion详细信息和安装目录的信息。但是我不能达到我的要求。有没有其他方法可以做到这一点 我将XML文件与以下代码片段一起使用,文件名为RVersion.XML <

我已在windows 8计算机上安装了以下版本的R

•   R-3.0.0
•   R-3.0.1
•   R-.3.0.2
•   R-3.1.1
我需要用ComboBox控件创建简单的WPF应用程序来选择R版本 根据ComboBox所选项目,我们必须将所选R版本的目录添加到环境变量中。我尝试过使用.txt文件,其中包含关于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>

R-3.0.2
C:\ProgramFiles\R\R-3.0.2\bin
R-3.1.1
C:\Program Files\R\R-3.1.1\bin
我在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版本的详细信息

我通过在DisplayMemberPath中使用以下修改过的代码片段实现了这一点

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


将版本保存在文本或XML文件中,将其读入应用程序并用其填充
可观察集合
,然后将其数据绑定到
组合框.ItemsSource
属性。将另一个
字符串
属性添加到数据绑定到
组合框。选择EdItem
属性。。。工作完成了。为什么不能这样做?我使用了以下代码段R-3.0.2 C:\Program Files\R\R-3.0.2\bin R-3.1.1 C:\Program Files\R\R-3.1.1\bin,但它没有在组合框中显示版本名