I try to convert dependencyproperty to bool,but it does not work. Any bugs?
Posted: 23 Apr 2021, 15:40
Xaml
Cpp
Code: Select all
<ResourceDictionary>
<BoolConverter x:Key="BoolConverter"/>
</ResourceDictionary>
<StackPanel>
<RadioButton IsChecked="{Binding CameraSpeedRatio,Converter={StaticResource BoolConverter},ConverterParameter=1,Mode=TwoWay}"/>
<RadioButton IsChecked="{Binding CameraSpeedRatio,Converter={StaticResource BoolConverter},ConverterParameter=1.5,Mode=TwoWay}"/>
<RadioButton IsChecked="{Binding CameraSpeedRatio,Converter={StaticResource BoolConverter},ConverterParameter=2,Mode=TwoWay}"/>
<RadioButton IsChecked="{Binding CameraSpeedRatio,Converter={StaticResource BoolConverter},ConverterParameter=3,Mode=TwoWay}"/>
</StackPanel>
Code: Select all
static const Noesis::DependencyProperty* CameraSpeedRatio_;
data->RegisterProperty<double>(CameraSpeedRatio_, "CameraSpeedRatio",
Noesis::FrameworkPropertyMetadata::Create(1, Noesis::FrameworkPropertyMetadataOptions_None));
class EnumToBoolConverter : public BaseValueConverter
{
public:
bool TryConvert(BaseComponent* value, const Type* targetType, BaseComponent* parameter,
Noesis::Ptr<BaseComponent>& result)
{ return value->Equals(parameter); }
bool TryConvertBack(BaseComponent* value, const Type* targetType, BaseComponent* parameter,
Noesis::Ptr<BaseComponent>& result)
{
if (Boxing::CanUnbox<bool>(value) && Boxing::Unbox<bool>(value) == true)
{ result = *parameter; return true; }
return false;
}
private:
NS_IMPLEMENT_INLINE_REFLECTION_(BoolConverter, BaseValueConverter, "BoolConverter")
};