2012-09-12 100 views
1

我正在通過itemsSource屬性將項添加到菜單項。 (元素名稱是videoCapDevices)如何將元素綁定到選定的菜單項wpf

ItemsSource="{Binding Source={x:Static Devices}}" 

,現在我想以應對所選擇的菜單項,可能會顯示一個視頻流所選擇的相機設備

VideoCaptureDevice="{Binding Path=SelectedItem, ElementName=videoCapDevices}" 

但是,這只是工作的組合框或列表框。

如何更改「路徑選擇器」以到達選定的菜單項。

謝謝

+1

什麼是'Devices'究竟投? –

+1

設備只是一個靜態的源...例如ItemsSource =「{綁定源= {x:靜態控件:MultimediaUtil.VideoInputDevices}}」 – Georges

+0

VideoInputDevices如何保持,爲MenuItem播放? –

回答

1

嘗試使用轉換器

public class DeviceConverter : IValueConverter 
{ 

    public object Convert(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     if(value==null) 
      return null; 

     return ((Device)value).CaptureDeviceName; 
    } 

    public object ConvertBack(object value, Type targetType, object parameter, CultureInfo culture) 
    { 
     return value; 
    } 
} 

VideoCaptureDevice="{Binding Converter=DeviceConverter ,Path=SelectedItem, ElementName=videoCapDevices}" 
+0

現在編譯器會拋出一個異常,它不能將類型(字符串)轉換爲IValueConverter類型......事情是在[WPFMediaKit](http://wpfmediakit.codeplex.com/)的原始示例中工作.. 。像上面一樣,只需用組合框而不是菜單項就可以完成相同的操作......我認爲問題在於菜單項的路徑選擇。 – Georges

+0

我更新了我的轉換器,將'CaptureDeviceName'屬性作爲輸出@onkelFungus – S3ddi9

+0

我沒有找到這個屬性,你在哪裏找到它? 你的意思是'DsDevice.Name'嗎?我試着用一個返回值'DsDevice',但編譯器再次拋出同樣的異常......你能告訴我你的意思嗎? @ seddik-laraba – Georges