2014-09-03 34 views
0

我已經在我的窗戶安裝的R以下版本8機應用版本選擇執行

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

我需要創建一個ComboBox控件簡單的WPF應用程序選擇基於ComboBox中選定項目的R版本中 ,我們必須將所選R版本的目錄添加到環境變量中。我曾嘗試使用.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> 

在這種情況下,組合框沒有顯示R版本詳細信息

+0

將這些版本保存在文本或XML文件中,將它們讀入應用程序並使用它們填充'ObservableCollection ',然後將數據綁定到'ComboBox.ItemsSource'屬性。將另一個'string'屬性添加到數據綁定到'ComboBox.SelectedItem'屬性......完成任務。你爲什麼不能那樣做? – Sheridan 2014-09-03 07:49:19

+0

我有使用下面的代碼段 – 2014-09-03 08:30:06

+0

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 2014-09-03 08:30:29

回答

0

我已經通過在DisplayMemberPath中使用以下修改後的代碼片段來實現此目的

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