第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

使用 RelayCommand 的多重綁定返回未設(shè)置的值

使用 RelayCommand 的多重綁定返回未設(shè)置的值

C#
紅糖糍粑 2023-08-20 14:40:49
我有一個(gè)命令綁定到我擁有的菜單項(xiàng),我想傳遞多個(gè)參數(shù)。我嘗試過使用轉(zhuǎn)換器,但它似乎沒有返回任何內(nèi)容。我的轉(zhuǎn)換器public class AddConverter : IMultiValueConverter {    public object Convert(object[] values, Type targetType, object parameter, System.Globalization.CultureInfo culture) {        return values.Clone();    }    public object[] ConvertBack(object value, Type[] targetTypes, object parameter, System.Globalization.CultureInfo culture) {        throw new NotImplementedException();    }}我的視圖模型包含我的命令class myViewModel: ViewModelBase {private RelayCommand testCommand;        public ICommand TestCommand {            get {                if (testCommand == null) {                    testCommand = new RelayCommand((param) => test((object[])param));                }                return testCommand ;            }        }        //Only trying to print out one of the params as a test        public void test(object parameter) {            var values = (object[])parameter;            int num1 = Convert.ToInt32((string)values[0]);            MessageBox.Show(num1.ToString());        }我對(duì)菜單項(xiàng)的綁定//Using tags as a test<ContextMenu>    <MenuItem Name="testing" Header="Move to Position 10" Command="{Binding TestCommand}" Tag="7">        <MenuItem.CommandParameter>             <MultiBinding Converter="{StaticResource AddConverter}">                 <Binding ElementName="testing" Path="Tag"/>                 <Binding ElementName="testing" Path="Tag"/>             </MultiBinding>        </MenuItem.CommandParameter>    </MenuItem></ContextMenu>調(diào)試后,當(dāng)我打開包含菜單項(xiàng)的窗口時(shí),轉(zhuǎn)換器會(huì)啟動(dòng),此時(shí)值對(duì)象為空。然后,當(dāng)我選擇菜單項(xiàng)并觸發(fā)命令時(shí),當(dāng)我開始執(zhí)行時(shí),參數(shù)為空。我不明白為什么我的轉(zhuǎn)換器在我單擊菜單項(xiàng)之前就啟動(dòng)了,或者為什么這些值為空。
查看完整描述

1 回答

?
墨色風(fēng)雨

TA貢獻(xiàn)1853條經(jīng)驗(yàn) 獲得超6個(gè)贊

嘗試將ElementName綁定的 替換為RelativeSource. 這對(duì)我有用:


<MenuItem Name="testing" Header="Move to Position 10" Command="{Binding TestCommand}" Tag="7">

    <MenuItem.CommandParameter>

        <MultiBinding Converter="{StaticResource AddConverter}">

            <Binding Path="Tag" RelativeSource="{RelativeSource Self}"/>

            <Binding Path="Tag" RelativeSource="{RelativeSource Self}"/>

        </MultiBinding>

    </MenuItem.CommandParameter>

</MenuItem>

另請(qǐng)注意,您應(yīng)該綁定到TestCommand屬性而不是字段testCommand。


查看完整回答
反對(duì) 回復(fù) 2023-08-20
  • 1 回答
  • 0 關(guān)注
  • 140 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)