আমি একটি ডাব্লুপিএফ প্রোগ্রাম লিখছি এবং আমি স্টাইল বা টেমপ্লেটের মতো কিছু পুনরাবৃত্তিযোগ্য পদ্ধতির মাধ্যমে একটি টেক্সটবক্সে ডেটা ফর্ম্যাট করার উপায়টি বের করার চেষ্টা করছি। আমার কাছে অনেকগুলি টেক্সটবক্স (সঠিক হতে 95) এবং প্রত্যেকটির নিজস্ব সংখ্যার ডেটাতে আবদ্ধ থাকে যা প্রত্যেকে তাদের নিজস্ব রেজোলিউশন সংজ্ঞায়িত করতে পারে। উদাহরণস্বরূপ, যদি ডাটাটি 2 রেজোলিউশন সহ 99.123 হয় তবে এটি 99.12 প্রদর্শন করা উচিত। একইভাবে 99 এবং রেজোলিউশন 3 এর একটি ডেটা মান 99.000 (99 নয়) হিসাবে প্রদর্শিত হবে। এই কাজ করতে একটি উপায় আছে কি?
সম্পাদনা: আমার স্পষ্ট করে বলা উচিত, বর্তমান স্ক্রিনে 95 টি পাঠ্যবক্স রয়েছে যার উপরে আমি কাজ করছি তবে আমি চাইছি যে প্রতিটি টেক্সটবক্স আমার প্রোগ্রামের বিভিন্ন স্ক্রিন জুড়ে দশমিক স্থানের সঠিক সংখ্যাটি প্রদর্শন করবে। এখন যেহেতু আমি এটি সম্পর্কে চিন্তা করি, এর মধ্যে কয়েকটি হ'ল পাঠ্যবক্স (যেমন এখন আমি যে স্ক্রিনে কাজ করছি) এবং কিছু হ'ল ডেটাগ্রিড বা তালিকাভিউস, তবে আমি যদি টেক্সটবক্সের জন্য এটি কীভাবে কাজ করতে পারি তা যদি আমি বুঝতে পারি তবে আমি নিশ্চিত যে আমি চিত্রিত করতে পারি এটি অন্যান্য নিয়ন্ত্রণগুলির জন্যও রয়েছে।
এই ক্ষেত্রে ভাগ করার মতো খুব বেশি কোড নেই তবে আমি এটি আরও পরিষ্কার করার চেষ্টা করব:
আমার কাছে একটি ভিউ মডেল রয়েছে যাতে নিম্নলিখিত বৈশিষ্ট্যগুলি রয়েছে (vb.net):
Public ReadOnly Property Resolution As Integer
Get
Return _signal.DisplayResolution
End Get
End Property
Public ReadOnly Property Value As Single
Get
Return Math.Round(_signal.DisplayValue, Resolution)
End Get
End Property
এবং এক্সএএমএল-এ আমার রয়েছে:
<UserControl.Resources>
<vm:SignalViewModel x:Key="Signal" SignalPath="SomeSignal"/>
</UserControl.Resources>
<TextBox Grid.Column="3" IsEnabled="False" Text="{Binding Path=Value, Source={StaticResource Signal}, Mode=OneWay}" />
সম্পাদনা 2 (আমার সমাধান): দেখা যাচ্ছে যে কম্পিউটার থেকে কিছুক্ষণ দূরে সরে যাওয়ার পরে আমি একটি সাধারণ উত্তর পেয়েছিলাম যা আমাকে মুখে ঘাবিয়েছে। ভিউ মডেলে ডেটা ফর্ম্যাট করুন!
Public ReadOnly Property Value As String
Get
Return (Strings.FormatNumber(Math.Round(_signal.DisplayValue, _signal.DisplayResolution), _signal.DisplayResolution))
End Get
End Property
IValueConverter
? রূপান্তরকারীকে আসল মান এবং রেজোলিউশনটি পাস করুন এবং এটি নিজের মধ্যে আপনার জন্য বৃত্তাকার তৈরি করুন।StringFormat
এই 95 টি ঠিক কীভাবেTextBox
উত্পন্ন হয় তা না জেনে পরামর্শ দেওয়া শক্ত ।