我正在嘗試遵循this教程,但我不清楚EnumMatchToBooleanConverter
課程的代碼應該放在哪裏。我認爲它會出現在代碼隱藏文件(即view.xaml.cs)中,但是當我嘗試在XAML中聲明資源時,我收到了沿着The type EnumMatchToBooleanConverter was not found
的錯誤。WPF的窗口/用戶控件資源的代碼在哪裏?
0
A
回答
0
EnumMatchToBooleanConverter在這種情況下是它自己的類。你應該可以在現有的代碼背後聲明它,但我會堅持它自己的文件,以確保。 Visual Studio在查找資源時可能很笨,所以如果仍然顯示錯誤,則應重建該項目。
0
轉換器(與所有其他類一樣)屬於它們自己的文件。
然後,你只需要在你的XAML命名空間:
xmlns:local="clr-namespace:MyNamespace"
另外,嘗試重建/運行的應用程序的XAML「智能感知」往往不會更新什麼是在命名空間,直到建立已經發生。
1
在一般情況下,一個小WPF項目應具有以下近似的文件夾結構:
- 項目名
- 轉換器
- 數據訪問
- 數據類型
- 圖片
- 的ViewModels
- 查看
轉換器是您存儲您的Converter
類的文件夾。在開發WPF一段時間後,你會發現你的Converter
類的集合將會增加。這些文件夾中的每一個都包含我們映射到相關名稱空間的類。在Converter
類的情況下,通常是這樣的:
namespace ProjectName.Converters
{
[ValueConversion(typeof(bool), typeof(Brush))]
public class BoolToBrushConverter : IValueConverter
{
...
}
}
對於DataTypes
類,你會使用類似:
namespace ProjectName.DataTypes
{
public class SomeDataType
{
...
}
}
由於@LordTakkera正確提到的,你會然後需要定義一個XAML命名空間,像這樣來引用XAML這些類:
xmlns:Converters="clr-namespace:ProjectName.Converters"
然後,你可以定義Converter
在Resources
部分是這樣的:
<Converters:BoolToBrushConverter x:Key="BoolToBrushConverter" />
見Data Binding Overview頁面上MSDN的數據轉換部分獲取更多信息。 MSDN上的IValueConverter
interface頁面是另一個有用的資源。
相關問題
- 1. 獲取WPF窗口的XAML源代碼
- 2. WPF用戶控制資源
- 3. iText源代碼在哪裏?
- 4. libOAuth.a源代碼在哪裏?
- 5. WPF窗口/用戶控件繼承XAML
- 6. 資源的ID在哪裏?
- 7. Linux的usb_storage的源代碼在哪裏
- 8. 我的資源文件在哪裏
- 9. 在不同的WPF xaml用戶控件中使用資源
- 10. 我的窗口的其餘部分在哪裏形成代碼
- 11. 關於WPF控件的源代碼
- 12. wpf控件上的更新源代碼
- 13. python鏈中的源代碼在哪裏?
- 14. GNU C庫的源代碼在哪裏?
- 15. RippleDrawable的源代碼在哪裏? (Android L)
- 16. Python itertools.islice的源代碼在哪裏?
- 17. Django源代碼中的Model.py在哪裏?
- 18. Android adb的Windows源代碼在哪裏?
- 19. NInject.Framework.Web的源代碼在哪裏?
- 20. AutoScriptWriter的源代碼在哪裏
- 21. Html.TextBox的源代碼在哪裏
- 22. Python雞蛋的源代碼在哪裏?
- 23. ghc-prim的源代碼在哪裏?
- 24. isnan的源代碼在哪裏?
- 25. F#3.1.2的源代碼在哪裏?
- 26. nvelocity的最新源代碼在哪裏
- 27. jar程序的源代碼在哪裏?
- 28. 目前,JUnit的源代碼在哪裏?
- 29. IEnumerator的源代碼在哪裏?
- 30. maven-properties-plugin的源代碼在哪裏?