Saya memiliki multi-binding like
<TextBlock>
<TextBlock.Text>
<MultiBinding Converter="{StaticResource myConverter}">
<Binding Path="myFirst.Value" />
<Binding Path="mySecond.Value" />
</MultiBinding>
</TextBlock.Text>
</TextBlock>
Dan saya ingin meneruskan nilai tetap misalnya "123" ke salah satu dari dua binding di atas. Bagaimana saya bisa melakukannya dengan XAML?
wpf
binding
multibinding
Nam G VU
sumber
sumber
Jawaban:
Jika nilai Anda hanyalah a
string
, Anda dapat menetapkannya sebagai konstanta dalamSource
properti binding. Jika ini adalah tipe data primitif lainnya, Anda perlu mendefinisikan sumber daya statis dan mereferensikannya.Tentukan
sys
namespace di root XAML yang akan diarahkan keSystem
mscorlib, dan berikut ini seharusnya berfungsi:sumber
Atau, gabungkan dua jawaban di atas:
Yang menyediakan tipe yang tepat tanpa kludge Resources.
sumber
sys
di kepala dokumen:xmlns:sys="clr-namespace:System;assembly=mscorlib"
Saya tidak terlalu mengikuti pertanyaannya tetapi ada dua opsi:
Letakkan garis
<Binding Source="123" />
di multibinding Anda akan melewati 123 sebagai nilai terikat ke konverter Anda.Masukkan
ConverterParameter="123"
MultiBinding Anda:<MultiBinding Converter="{StaticResource conv}" ConverterParameter="123">
sumber
IValueConverter
, parameter diteruskan sebagaiobject
, yang berarti Anda perlu memasukkan nilai ke jenis yang benar, dengan cara yang aman. IValueConverter.ConvertSaya tidak mengatakan ini jawaban yang sangat bagus tetapi ini adalah pendekatan lain:
sumber