<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                當wpf使用multibinding時, 其內部的validaterule的value 是其多個Binding的值, 要根據情況去驗證, 還有就是在做IMultiConverter的ConvertBack時注意TargetType 如: 以下是一個Textbox通過MultiBinding綁定到后臺 的字段, 以及前臺的一個radiobutton, 該textbox有個validaterule。? <TextBoxx:Name="txtPatientWeight"TextWrapping="Wrap"Margin="3"MaxLength="5"TabIndex="6"BorderBrush="Black"Grid.Row="5"Grid.Column="1"Height="22"MinWidth="42"Tag="PatientWeight" ???????????????????Visibility="{BindingDataContext,ElementName=window,Converter={StaticResourceKeyToVisibilityConverter},ConverterParameter=PatientWeight}"> ??????????????<MultiBinding?Mode="TwoWay"Converter="{StaticResourceWeightConverter}"??UpdateSourceTrigger="PropertyChanged"> ??????????????????<MultiBinding.ValidationRules> ??????????????????????<McsfPAFEContainee_ValidationRules:WeightValidationRuleValidatesOnTargetUpdated="True"ValidationStep="ConvertedProposedValue"/> ??????????????????</MultiBinding.ValidationRules> ??????????????????<BindingPath="PatientWeight"/> ??????????????????<BindingPath="IsChecked"ElementName="rdoKg"/> ??????????????</MultiBinding> ??????????????<i:Interaction.Behaviors> ??????????????????<McsfPAFEContainee_Behaviors:NumericTextBoxBehaviorMinValue="0"MaxValue="300" /> ??????????????</i:Interaction.Behaviors> ??????????</TextBox> //////////////////////// <RadioButtonx:Name="rdoKg"Content="kg"GroupName="WeightMeasure"d:LayoutOverrides="GridBox"MinWidth="34"Margin="5,0,0,0"Tag="PatientWeight"HorizontalAlignment="Center"> ??????????????????<RadioButton.IsChecked> ??????????????????????<BindingPath="DataContext"Mode="TwoWay"ElementName="window"Converter="{StaticResourceDefaultUnitConverter}"ConverterParameter="kg"?UpdateSourceTrigger="PropertyChanged"></Binding> ??????????????????</RadioButton.IsChecked> ??????????????</RadioButton> [//////////////]() ?privatestringpatientWeight="";//(0010,1030) Patient Weight PatientWeight DS unit kg ??????publicstringPatientWeight ?????? { ??????????get{returnpatientWeight; } ??????????set ?????????? { ??????????????if(value==patientWeight) ?????????????? { ??????????????????return; ?????????????? } ??????????????patientWeight=value; ??????????????OnPropertyChanged("PatientWeight"); ?????????? } ?????? } ? [//////////converter]() publicclassWeightConverter:IMultiValueConverter ?? { ??????publicobjectConvert(object[] values,TypetargetType,objectparameter,CultureInfoculture) ?????? { ??????????if(null== values || 2 != values.Length ) ?????????? { ??????????????return""; ?????????? } ??????????stringunit =""; ??????????stringtemp = values[0].ToString(); ??????????if(String.IsNullOrEmpty(temp)) ?????????? { ??????????????return""; ?????????? } ??????????if(0 <= temp.IndexOf("lb")) ?????????? { ?????????????? unit ="lb"; ?????????? } ??????????elseif(0 <= temp.IndexOf("kg")) ?????????? { ?????????????? unit ="kg"; ?????????? } ??????????else ?????????? { ??????????????return""; ?????????? } ??????????stringnumber =""; ?????????? number = temp.Substring(0, temp.IndexOf(unit)); ??????????//KG ??????????if((bool)values[1]) ?????????? { ?????????????? measurementUnit ="kg"; ?????????? } ??????????else//LB ?????????? { ?????????????? measurementUnit ="lb"; ?????????? } ??????????returnConvertToTargetValue(number, unit, measurementUnit); ?????? } ??????privatestringmeasurementUnit =""; ????? ??????publicobject[] ConvertBack(objectvalue,Type[] targetTypes,objectparameter,CultureInfoculture) ?????? { ??????????stringtemp = value.ToString(); ??????????if(String.IsNullOrEmpty(temp)) ?????????? { ??????????????returnnewobject[]{DependencyProperty.UnsetValue,DependencyProperty.UnsetValue}; ?????????? } ??????????if(String.IsNullOrEmpty(measurementUnit)) ?????????? { ?????????????? measurementUnit = (PAFEContainee.MainDataContextasMainViewModel).PRCfgVM.IsDefaultKilogram ?"kg":"lb"; ?????????? } ??????????object[] list =newobject[2]; ?????????? list[0] = value.ToString() + measurementUnit; ?????????? list[1] = measurementUnit.Equals("kg") ?"true":"false"; ??????????returnlist; ?????? } ??????privatestringConvertToTargetValue(stringbefore,stringbeforeUnit,stringafterUnit) ?????? { ??????????stringresult =""; ??????????if(beforeUnit.Equals(afterUnit)) ?????????? { ??????????????returnbefore; ?????????? } ??????????switch(afterUnit) ?????????? { ??????????????case"lb": ?????????????????? result = ConvertKgToPound(before).ToString(); ??????????????????break; ??????????????case"kg": ?????????????????? result = ConvertPoundToKg(before).ToString(); ??????????????????break; ??????????????default: ??????????????????break; ?????????? } ??????????returnresult; ?????? } ??????privatedoubleConvertPoundToKg(stringpound) ?????? { ??????????doublekg = 0.4536 *double.Parse(pound); ??????????returnkg; ?????? } ??????privatedoubleConvertKgToPound(stringkg) ?????? { ??????????doublepound = 2.20 *double.Parse(kg); ??????????returnpound; ?????? } ?? } [///////ValidationRule]() publicoverrideValidationResultDoValidate(objectvalue,CultureInfocultureInfo) ?????? { ??????????try ?????????? { ??????????????//string field = value.ToString().Trim(); ??????????????stringfield= (valueasobject[])[0].ToString(); ??????????????stringpattern=@"^([1-9]|[1-9][0-9]|[1-5][0-9][0-9]|600)((kg)|(lb))$"; ??????????????Regexreg=newRegex(pattern,RegexOptions.IgnoreCase); ??????????????if(field.Length<= 0 ||false==reg.IsMatch(field)) ?????????????? { ??????????????????returnnewValidationResult(false,"Please input a number, for example '60'"); ?????????????? } ??????????????else ?????????????? { ??????????????????returnValidationResult.ValidResult; ?????????????? } ?????????? } ??????????catch ?????????? { ??????????????returnnewValidationResult(false,"Patient weight convert failed."); ?????????? } ?????? }
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看